其他分享
首页 > 其他分享> > 删除项目时刷新MvvmCross MvxListView

删除项目时刷新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