MvvmCross MvxListView没有刷新项目删除

时间:2014-03-31 11:28:15

标签: c# viewmodel mvvmcross

当我从列表中删除项目时,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中的隔离函数调用时没有所需的效果,但为什么?

1 个答案:

答案 0 :(得分:3)

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

private ObservableCollection<Item> items = new ObservableCollection<Item>();
public ObservableCollection<Item> Items 
{ 
     get { return items; } 
     set { items = value; RaisePropertyChanged(() => Items); } 
}
相关问题