当我从列表中删除项目时,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()
函数在从viewmodel中的隔离函数调用时没有所需的效果,但为什么?
答案 0 :(得分:3)
您需要使用ObservableCollection来使MvxListView更新内容。
private ObservableCollection<Item> items = new ObservableCollection<Item>();
public ObservableCollection<Item> Items
{
get { return items; }
set { items = value; RaisePropertyChanged(() => Items); }
}