我正在玩ICollectionView,并遇到一个问题,我想我理解“为什么”,但不是“我该如何解决”。 :)更改属性值后重建WPF数据绑定
我有一个ComboBox这是数据绑定为ICollectionView,并且其初始设置与下面的代码:直到我执行一段代码,生成一个新的IEnumerable<string>
和套
NameView = CollectionViewSource.GetDefaultView(names); // names is an IEnumerable<string> that comes from a LINQ query
NameView.CurrentChanged += new EventHandler(NameView_CurrentChanged);
一切的伟大工程再次使用与上面相同的代码重新命名NameView。一旦我这样做,CurrentItem
不再正常工作。
我已经与ObservableCollection<string>
数据绑定到组合框遇到这个问题之前,我用Clear()
和Add()
,而不是ObservableCollection<string>
属性设置为一个新的ObservableCollection<string>
绕过“解除绑定”的问题。
我的问题包括: 1.如果我希望能够将属性设置为新集合,我可以以某种方式重新建立新集合的数据绑定吗?如果是这样,怎么样?如果不是,你能解释为什么这从根本上不可能的背后的WPFisms? 2.处理ObservableCollection<string>
或ICollectionView
变化的最佳方法是什么?我的方法只是清除和添加唯一的方法来做到这一点?
谢谢,我明白为什么,但我想你已经证明了我一些重要的东西在这里。我未能使用INotifyPropertyChanged。哎呀!我会试一试,让你知道它是怎么回事。 – Dave 2010-09-24 17:48:05