我正在玩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