我有这样的源元素:
var collection = new ObservableCollection<SourceItems>(source);
source实现 INotifyPropertyChanged
我需要使用规则在CheckListBoxes(带有来自WPFToolKit的checkBoxes的listBox)中编辑和查看此集合:
每个CheckListBox都有itemsSource
checkListBox1.ItemsSource=collection;
所以,如果我检查一个listBox中的项目,我必须只看到其他项目中的已检查项目。 并且每个listBox必须按源的字段之一
排序listBox1 by field orderItem
listBox2 by field orderVisibleItem,依此类推。
用户可以移动每个listBox中的元素,但不得影响其他列表中的排序。
我尝试为每个ListBox创建 CollectionViewSource 。但是当我对它进行排序时,它会互相排斥。
Linq for filtering and sortnig也不起作用,因为更改没有动态更新。
有没有最好的方法来创建这样的功能?
答案 0 :(得分:0)
您应该使用CollectionViewSource
。
我猜你用的是CollectionViewSource.GetDefaultView(.. )
?您应该为该集合创建两个新视图:
CollectionViewSource cvs = new CollectionViewSource() { Source = TheCollection };