2009-02-27 82 views
0

我有一些UI綁定到T類型的ObservableCollection,其中'T'實現INotifyProperty正確更改。WPF數據綁定,替換源對象

問題是我需要在運行時完全交換出ObservableCollection,因爲它是從SQL調用中彈出的。這顯然混淆了整個綁定,並沒有改變通知的消息。

如何在運行時替換源對象而不會丟失綁定?

代碼大致是這樣的

ObservableCollection<Issue> iss = Application.Current.FindResource("Issues") as ObservableCollection<Issue>; 
iss = new ObservableCollection<Issue>(); 
PopulateCollection(iss); 

回答

4

只要財產暴露在收集支持變更通知(可能是因爲它是一個依賴屬性,或者是因爲它實現了INotifyPropertyChanged),你可以改變該屬性。任何綁定到它的東西都會自動刷新到新的集合。