WPF数据绑定,替换源对象

时间:2009-02-27 11:52:28

标签: wpf data-binding observablecollection

我有一些UI绑定到类型为T的ObservableCollection,其中'T'实现了正确的INotifyProperty更改。

问题是我需要在运行时完全换掉ObservableCollection,因为它是从SQL调用中弹出的。这显然会混淆整个绑定,并且没有更改通知。

如何在运行时替换源对象而不会丢失绑定?

代码大致是这样的

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

1 个答案:

答案 0 :(得分:4)

只要公开集合的属性支持更改通知(因为它是依赖属性,或者因为它实现了INotifyPropertyChanged),您就可以更改该属性。绑定到它的任何东西都会自动刷新到新的集合。