Member 12956755 Ответов: 0

Невозможно отобразить данные веб-API в listview в visual studio 2017-xamarin


Я разрабатываю кросс-платформенное приложение в Xamrin с Visual Studio 2017. Сделали простую форму для тестирования всего с одним listview. Я пытаюсь получить данные из моего WebAPI и показать их в виде списка. Я проверил свои конечные точки веб-API с помощью Postman, и он работает совершенно нормально. Но мой listview не показывает никаких данных . Отчаянно пытаясь выяснить, что же создает проблему . Мой код из XAML, файла. CS и модели представления выглядит так, как показано ниже.



Что я здесь делаю не так????? Прошло довольно много времени с тех пор, как я пытался выяснить, почему мой listview не показывает мои данные. Любая помощь будет оценена по достоинству.

Что я уже пробовал:

ПРОСМОТР КОДА МОДЕЛИ:

 public class MainViewModel : INotifyPropertyChanged

{

 public class ItemDetailsClass

    {
        public string ItemCode { get; set; }

        public string ItemDesc { get; set; }
    }

 public ObservableCollection<ItemDetailsClass> ItemsListMain
    {
        get { return _itemsListMain; }
        set
        {
            _itemsListMain = value;
            OnPropertyChanged();
        }
    }


public async Task <ObservableCollection<ItemDetailsClass>> GetAsync()

    {
        var httpClient = new HttpClient();
        var json = await httpClient.GetStringAsync(WebServiceUrl);
        var taskModels = JsonConvert.DeserializeObject<ObservableCollection<ItemDetailsClass>>
    (json); 
    return taskModels;

    }

    private async Task InitaializeDataAsync()

    {
        ItemsListMain = await GetAsync();

    }

   public MainViewModel()
    {
        InitaializeDataAsync();
    }

}



код XAML:


<ContentPage.BindingContext>

    <viewModels:MainViewModel/>

</ContentPage.BindingContext>



 <ListView

    x:Name="MyListView"
    ItemsSource="{Binding ItemsListMain}"
    CachingStrategy="RecycleElement"
    HasUnevenRows="True"
    IsVisible="True">


<ListView.ItemTemplate>
  <DataTemplate>
    <TextCell Text="{Binding ItemCode}" TextColor="Black"/>
  </DataTemplate>
</ListView.ItemTemplate>
</ListView>



Страница.Код Cs

MainViewModel myViewModel = new MainViewModel();
 MyListView.BindingContext = myViewModel;

0 Ответов