views:

190

answers:

1

I have some UI bound to an ObservableCollection of type T where 'T' implements INotifyProperty Changed properly.

The problem is i need to completely swap out the ObservableCollection at runtime since it is popluated from a SQL call. This obviously messes the whole binding up and no change notifications fire.

How can i replace the source object at runtime without losing my binding?

the code is roughly like this

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

As long as the property exposing the collection supports change notification (either because it's a dependency property, or because it implements INotifyPropertyChanged), you can just change that property. Anything bound to it will auto-refresh to the new collection.

HTH, Kent

Kent Boogaart