如何在我的列表中显示一些项目时绑定我的列表到网格
本文关键字:列表 我的 项目 绑定 网格 显示 | 更新日期: 2023-09-27 18:09:28
我有一个绑定到网格的列表。我的列表项有像RunTimeState这样的属性。用户可以选择网格中的每个项目并将其删除。当一个项被删除时,它的RunTimeState被设置为deleted。我怎样才能让我的网格不显示这些已删除的项目?
每当您的项目被删除时,您应该引发INotifyPropertyChanged.PropertyChanged
事件,并将属性名称设置为网格数据源。并且该属性应该过滤项目,否则该项目应该从您的集合中删除。
代码可以像这样:
var myDataSource = ...;
public void DeleteItem(Item item)
{
item.RunTimeState = RunTimeState.Deleted;
// you can remove the item from the myDataSource here or filter it later
PropertyChanged(this, new PropertyChangedEventArgs("DataSource"));
}
public IList<Item> DataSource
{
get { return myDataSource; }
// or
get
{
return myDataSource.Where(i => i.RunTimeState != RunTimeState.Deleted).ToList();
}
}