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

时间:2017-10-09 07:54:52

标签: c# xaml listview xamarin visual-studio-2017

我正在使用Visual Studio 2017在Xamrin中开发一个跨平台应用程序。使用一个列表视图制作了一个简单的测试表单。 我正在尝试从我的WebAPI获取GetData并在列表视图中显示它。 我使用Postman检查了我的Web API端点,它的工作完全没问题。但我的listview没有显示任何数据。拼命想要找出造成问题的原因。 我的XAML,.CS文件和View Model的代码如下所示。

查看型号代码:

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>

Page.Cs CODE

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

我在这里做错了什么?????自从我试图弄清楚为什么我的listview没有显示我的数据以来,已经有很长一段时间了。 任何形式的帮助将不胜感激。

0 个答案:

没有答案