删除项目时刷新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); }
}
标签:mvvmcross,viewmodel,c 来源: https://codeday.me/bug/20191121/2055438.html