0

「T」が INotifyProperty Changed を適切に実装するタイプ T の ObservableCollection にバインドされた UI があります。

問題は、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 に答える