次のシナリオがあります。どこかにDynamicResource
ウィズカラーがあります。この色はウィンドウの背景を決定し、その色に基づいて、表示する適切なアイコン (明るいまたは暗い) を選択します。
次のシナリオを想像します。
- 色が変わる クラスチェンジのきっかけ
- 私のクラスは、どのアイコンセットを選択する必要があるかをチェックします
- これらのアイコンのすべてのユーザーにそれらの再読み込みを強制します。
これは、WPF メカニズムを使用して実行できるはずです。問題は、そのような処理を行うアーキテクチャを構築する方法がよくわからないことです。
- 色の変化を捉えます。
DependencyProperty
と呼ばれるクラスを記述し、BackgroundColor
その色をDynamicResource
. このようにして、 を使用して色の変化をキャプチャできPropertyChangedCallback
ます。 - 内部処理が容易です。
DynamicResource
メカニズムを介してアタッチできるように、アイコンを公開する必要があります。どのように?ある種のコレクションで?それぞれ独自の DependencyProperty によるものですか?- これらのアイコンが変更されたことをすべてのユーザーに通知する必要があります。どのように?IObservableCollection で? アイコンを表す各プロパティで NotifyPropertyChanged を呼び出しますか? 多分他の方法で?
私が提示した目標を達成するためのより簡単な方法があれば、喜んで聞きます:)