C# WPF数据网格样式更改

C# WPF数据网格样式更改,c#,wpf,mvvm,datagrid,mahapps.metro,C#,Wpf,Mvvm,Datagrid,Mahapps.metro,对于自定义数据网格,我有以下XAML: <Controls:ResourceDataGrid x:Name="resourceDataGrid" AutoGenerateColumns="false" Style="{StaticResource MetroDataGrid}" ItemsSource="{Binding Path=Resources, Mode=TwoWay,

对于自定义
数据网格
,我有以下XAML:

<Controls:ResourceDataGrid 
    x:Name="resourceDataGrid" 
    AutoGenerateColumns="false" 
    Style="{StaticResource MetroDataGrid}" 
    ItemsSource="{Binding Path=Resources, 
                          Mode=TwoWay,
                          UpdateSourceTrigger=PropertyChanged, 
                          IsAsync=True}" 
    ...
    AttachedCommand:CommandBehavior.Event="CellEditEnding"
    AttachedCommand:CommandBehavior.Command="{Binding DynamicColumnTargetChangedCommand}">
    ...
</Controls:ResourceDataGrid>

...
我根据MahAppsMetro设计控件,网格看起来很棒。但是,当我更改应用程序“主题”/“重音”时,所有窗口都会更改颜色,所有MahAppsMetro控件也会更改,但我上面详述的
DataGrid
不会更改

DataGrid
的样式为
MetroDataGrid
,那么为什么不更新此控件,我需要做什么才能让它更新此控件的“主题”/“强调”颜色


谢谢您的时间。

主题仅适用于
CustomControl
s。为了为控件提供不同的“皮肤”,您需要有一个名为
generic.XAML
的XAML文件的
CustomControlLibrary
项目


你可以在Martins'10博客的页面上找到一个简短的基本描述,或者如果你喜欢更深入的描述,你可以在MSDN的页面上找到完整的描述。

你能进一步解释这句话吗:Style=“{StaticResource MetroDataGrid}”?
MetroDataGrid
是从MahAppsMetro库加载的“StaticResource”。。。任何想法都将不胜感激。谢谢你的时间…谢谢你的回复@Sheridan。我将很快详细查看参考资料。因为我是根据引用的库来设计控件样式的,所以控件样式确实是从所述库中采用的,我假设基础库的任何样式更改也应该更改我的控件?您已经编写了自己的
DataGrid
实现,它只是使用
MahAppsMetro.dll
中的
style
<更改“外观”时,代码>样式不会更新,而是使用不同的
样式。然而,所有这些都只是因为
DataGrid
已经在
generic.xaml
中注册了它的名称/类型和
Style
s,而您还没有注册自己的名称/类型。这是在定义
CustomControl
时完成的操作。