使用Xamarin表单实时更新列表视图中的项目pcl - c#

时间:2017-03-17 08:41:14

标签: c# listview xamarin xamarin.forms itemsource

我的目标是实时更新记录列表视图。

在我设置的加载页面中:

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​​),他们将随机更新数据,只记录几条记录。 我的目标是更新项目而不刷新listview ...并且没有将ItemSource设置为null然后重新分配数据。

 public async void setSuperficie()
 {
      //here i receive the result of API (every 10 seconds) and update record listview. 
 }

我尝试使用for循环滑动ItemSource并更新数据,但不能正常工作。

它有可能吗?

listView.ItemsSource[index].Property = Value;

1 个答案:

答案 0 :(得分:1)

什么是“myitems”?

您必须使用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