0

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

问题是我需要在运行时完全换掉 ObservableCollection,因为它是从 SQL 调用中填充的。这显然会弄乱整个绑定,并且不会触发任何更改通知。

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

代码大致是这样的

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

1 回答 1

4

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

于 2009-02-27T11:56:58.637 回答