Обновлять элементы списка в режиме реального времени с помощью форм Xamarin pcl - C#
Моя цель - сделать обновление списка записей в режиме реального времени.
на странице загрузки я установил:
List<Myobjetcs> myitems = new List<Myobjects>();
...
...
listView.IsVisible = false;
listView.RowHeight = 55;
listView.IsPullToRefreshEnabled = true;
listView.Refreshing += ListView_Refreshing;
listView.ItemTapped += ListView_ItemTapped;
listView.SeparatorVisibility = SeparatorVisibility.None;
listView.SeparatorColor = Color.Black;
listView.ItemsSource = myitems;
каждые 10 секунд (с API) они будут обновлять данные, только несколько записей, случайным образом. Моя цель - обновить элемент без обновления представления списка... и без установки для ItemSource значения null, а затем переназначить данные.
public async void setSuperficie()
{
//here i receive the result of API (every 10 seconds) and update record listview.
}
Я пытался вставить ItemSource с циклом for и обновить данные, но не работает.
это возможно сделать?
listView.ItemsSource[index].Property = Value;
1 ответ
Что такое "миитемс"?
Вы должны использовать ObservableCollection
ObservableCollection<MyModel> myitems = new ObservableCollection<MyModel>();
затем
public async void setSuperficie()
{
//here i receive the result of API (every 10 seconds) and update record listview.
// here you have to modify the myitems collection, adding or removing items
myitems.add(mynewitem);
}
Вы также должны реализовать INotifyPropertyChanged. Для этого предлагаю использовать Fody