【发布时间】:2012-02-19 11:40:29
【问题描述】:
我有这样的源元素:
var collection = new ObservableCollection<SourceItems>(source);
源码实现INotifyPropertyChanged
我需要使用规则在 CheckListBoxes(带有 WPFToolKit 中的复选框的列表框)中编辑和查看此集合:
- 每个 CheckListBoxes 必须按集合字段之一排序。集合具有每个 CheckListBox 的 order 字段。例如 - ItemOrder。
- 一个列表框中的可见元素依赖于另一个列表框中的选中项。
每个 CheckListBox 都有 itemsSource
checkListBox1.ItemsSource=collection;
所以,如果我检查一个列表框中的项目,我必须只看到另一个列表框中的检查项目。 并且每个列表框都必须按源字段之一进行排序
listBox1 按字段 orderItem
listBox2 按字段 orderVisibleItem 等等。
用户可以在每个列表框中移动元素,并且不能影响其他列表框中的排序。
我尝试为每个 ListBox 创建 CollectionViewSource。但是当我对一个进行排序时,它会相互排序。
用于过滤和排序的 Linq 也不起作用,因为更改不会动态更新。
有没有最好的方法来创建这样的功能?
【问题讨论】:
标签: wpf inotifypropertychanged itemssource checkedlistbox