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>
MainViewModel myViewModel = new MainViewModel(); MyListView.BindingContext = myViewModel;
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)