WPF DataGrid样式更改

时间:2013-11-18 20:15:27

标签: c# wpf mvvm datagrid mahapps.metro

我有自定义DataGrid的以下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,为什么不更新此控件,我需要做些什么才能让它更新'这个控件的主题'/'重音'颜色?

感谢您的时间。

1 个答案:

答案 0 :(得分:2)

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

您可以在Martins 10博客的Themes/generic.xaml页面中找到简短的基本说明,如果您更喜欢深度,可以在MSDN的Control Authoring Overview页面找到完整的说明。