ObservableCollection <t>由其他7个其他ObservableCollection <t>集合组成</t> </t>

时间:2012-01-07 11:56:28

标签: c# .net wpf data-binding

我将有一个7小的“购物清单”,然后一个大的包含7个小的所有项目。

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

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; }

2 个答案:

答案 0 :(得分:3)

我看到3个替代品......

  1. 实现复合ObservableCollection。如果没有这样的东西,你可以通过实施INotifyCollectionChanged
  2. 来构建一个
  3. 将所有项目加载到总列表中,并自行回复每周收集的集合更改事件并对整个集合进行更新
  4. 执行小型架构更改并将工作日信息附加到ShopItem。现在,您可以将它们全部保存在一个列表中,并显示大列表的过滤部分。

答案 1 :(得分:0)

如果不是通过使用支持分层数据绑定的WPF TreeView控件,则无法对数据绑定集合进行数据绑定。如果要显示子集合的内容,请将它们分别绑定到Ui。他们是另一个孩子的事实是代码隐藏的问题,并且没有必要在Ui上反映其完全关系的表现。

有关这些方案实施的具体帮助,请查看this MSDN article