删除项目时刷新MvvmCross MvxListView

当我从列表中删除一个项目时,MvxListView不会刷新.

我的清单(没什么花哨的):

private List<Item> items = new List<Item>();
public List<Item> Items 
{ 
     get { return items; } 
     set { items = value; RaisePropertyChanged(() => Items); } 
}

无效的代码:

Items.RemoveAll(x => x.Id == item.Id);
RaisePropertyChanged(() => Items); 

起作用的代码:

Items = Items.Where(x => x.Id != item.Id).ToList();

从视图模型中的隔离函数调用RaisePropertyChanged()函数似乎没有达到预期的效果,但是为什么呢?

解决方法:

您需要使用ObservableCollection来使MvxListView更新内容.

private ObservableCollection<Item> items = new ObservableCollection<Item>();
public ObservableCollection<Item> Items 
{ 
     get { return items; } 
     set { items = value; RaisePropertyChanged(() => Items); } 
}
上一篇:什么是MVVM


下一篇:JavaScript学习笔记 -- ES6学习(二) let 和const