我有以下情况。某处有DynamicResource
颜色。这种颜色决定了窗口的背景,并根据我想选择要显示的正确图标(亮或暗)的颜色。
我想象以下场景:
- 颜色变化,引发我班级的变化
- 我的班级检查,应该选择哪个图标集
- 它强制这些图标的所有用户重新加载它们。
我想,这应该可以使用 WPF 机制来实现。问题是,我不太清楚,如何构建架构,它将进行这样的处理。
- 捕捉颜色变化。我想,我可以编写一个带有
DependencyProperty
调用的类,例如,BackgroundColor
然后通过DynamicResource
. 这样我就可以使用PropertyChangedCallback
. - 内部处理很容易。
- 我必须公开我的图标,以便它们可以通过该
DynamicResource
机制附加。如何?通过某种收藏?每个都有自己的 DependencyProperty? - 我必须通知这些图标的所有用户,它们已更改。如何?通过 IObservableCollection?在代表图标的每个属性上调用 NotifyPropertyChanged?也许以其他方式?
如果有更简单的方法来实现我提出的目标,我会很高兴听到它:)