オブジェクトにバインドするUserControl
withがあるとします。オブジェクトのコレクションは、実際には Flash ActiveX オブジェクトに送信されます。このため、Foo オブジェクトのプロパティに "WPF バインド" できません。DependencyProperty
ObservableCollection<Foo>
Foo
Foo オブジェクトのプロパティが UserControl 以外のものによって更新された場合、UserControl に通知してリフレッシュするようにしたい (つまり、すべての Foo オブジェクトを Flash オブジェクトに再送信する)。
これを処理する方法がよくわかりません。それほど明確ではない 2 つの可能性を考えることができます。
UserControl は、オブジェクトを含むオブジェクトのイベントをサブスクライブし
ObservableCollection<Foo>
ます。Foo オブジェクトのプロパティが変更されるたびにイベントが発生するため、UserControl は Foo オブジェクトを Flash オブジェクトに再送信することを認識します。UserControl を
CollectionChanged
ObservableCOllection オブジェクトのイベントにサブスクライブさせると、何らかの形でObservableCOllection<Foo>
オブジェクトがAction
NotifyCollectionChangedAction.Reset
.void OnFooCollectionChanged(object sender, NotifyCollectionChangedEventArgs e) { if (!_flashIsLoaded) return; if (e.Action == NotifyCollectionChangedAction.Reset) { ClearAndSendFoos(this, Foos); return; } ....
上記の2つのいずれかを実行する方法、またはコレクションを更新する時期をUserControlに知らせる方法はありますか?