我正在尝试检测Application.Resources资源字典中的更改,以便在更新时自动将Titlebar更改为强调颜色。所有XAML控件和元素都会自动更改,并且当将纯色刷子设置为DSDFS刷子的地址时,其内部值会更改。
这是我尝试使用的代码来检测更改:
这是我尝试使用的代码来检测更改:
public static DependencyProperty accent = DependencyProperty.Register("DictChange", typeof(ResourceDictionary), typeof(Shell), new PropertyMetadata(Application.Current.Resources, new PropertyChangedCallback(accent_PropertyChanged)));
public ResourceDictionary DictChange
{
get { return (ResourceDictionary)GetValue(accent); }
set { SetValue(accent, value); }
}
private static void accent_PropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
_app.SetTitlebar();
}
我猜这样做是错误的,或者我不确定这是否是检测更改的正确方法。之前有一次迭代中,我使用了Application.Current.Resources["SystemControlBackgroundAccentBrush"] as SolidColorBrush
并尝试检测其属性,但那也没有起作用。
我做错了什么?请帮忙 :)