C# 无法在Visual Studio 2017的列表视图中显示Web API数据

C# 无法在Visual Studio 2017的列表视图中显示Web API数据,c#,xaml,listview,xamarin,visual-studio-2017,C#,Xaml,Listview,Xamarin,Visual Studio 2017,我正在使用Visual Studio 2017在Xamrin中开发一个跨平台应用程序。我们制作了一个简单的表单,用于仅使用一个listview进行测试。 我正在尝试从我的WebAPI获取数据,并将其显示在listview中。 我用Postman检查了我的WebAPI端点,它工作得非常好。但是我的listview不显示任何数据。拼命想找出是什么造成了这个问题。 我在XAML、.CS文件和视图模型中的代码如下所示 查看型号代码: public class MainViewModel : INotif

我正在使用Visual Studio 2017在Xamrin中开发一个跨平台应用程序。我们制作了一个简单的表单,用于仅使用一个listview进行测试。 我正在尝试从我的WebAPI获取数据,并将其显示在listview中。 我用Postman检查了我的WebAPI端点,它工作得非常好。但是我的listview不显示任何数据。拼命想找出是什么造成了这个问题。 我在XAML、.CS文件和视图模型中的代码如下所示

查看型号代码:

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();
    }
}
<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>
我在这里做错了什么?????自从我试图弄明白为什么我的listview没有显示我的数据以来,已经有相当长的一段时间了。
任何帮助都将不胜感激。

我看不出您的代码中有任何问题,您能发布此变量项的声明吗?主要原因是您为ListView提供了单独的视图模型????MyListView.BindingContext=myViewModel;您可以包含完整的VM类吗?
ItemsListMain
在哪里声明?@degant-我已经用您要求的信息编辑了上面的代码。:)请参考并给我一些帮助。@ShiwankaChathuranga-请查看我的声明代码以及我在page.cs中编辑的视图模型listview绑定代码。请参阅和帮助。:)我在你的代码中看不到任何问题,你能发布这个变量ItemsListMain的声明吗?为什么你有单独的ListView视图模型????MyListView.BindingContext=myViewModel;您可以包含完整的VM类吗?
ItemsListMain
在哪里声明?@degant-我已经用您要求的信息编辑了上面的代码。:)请参考并给我一些帮助。@ShiwankaChathuranga-请查看我的声明代码以及我在page.cs中编辑的视图模型listview绑定代码。请参阅和帮助。:)
  MainViewModel myViewModel = new MainViewModel();
  MyListView.BindingContext = myViewModel;