ObservableCollection<;T>;由其他7个ObservableCollection<;T&

本文关键字:ObservableCollection lt 7个 其他 gt | 更新日期: 2023-09-27 18:19:37

我会有一个7个小的"购物清单",然后是一个大的,包含7个小清单中的所有项目。

是否可以使用databind和observalecollection,以便在大列表中更新从小列表中添加/删除/更改的内容?

public ObservableCollection<ShopItem> MondayShopList{ get; set; }
public ObservableCollection<ShopItem> TuesdayShopList{ get; set; }
public ObservableCollection<ShopItem> WedensdayShopList{ get; set; }
public ObservableCollection<ShopItem> ....
public ObservableCollection<ShopItem> TotalShopList { get; set; }

ObservableCollection<;T>;由其他7个ObservableCollection<;T&

我为您提供了3种选择。。。

  1. 实现复合ObservableCollection。如果没有这样的东西,您可以通过实现INotifyCollectionChanged来构建一个
  2. 将所有项目加载到总列表中,并对dayweek集合的集合更改事件做出响应,并更新整个集合
  3. 执行一个小的体系结构更改,并将工作日信息附加到ShopItem。现在,您可以将它们全部保存在一个列表中,并显示大列表中经过过滤的部分

否,如果不使用支持分层数据绑定的WPF TreeView控件,则无法对嵌套集合进行数据绑定。如果要显示子集合的内容,请将它们分别绑定到Ui。它们是另一个的子代这一事实是代码背后的问题,没有必要反映其在Ui上的精确关系表示。

有关这些场景实现的具体帮助,请参阅MSDN文章