9

在我的应用程序的 App.xaml 部分中,我有一个ResourceDictionary元素,该元素以诸如此类的事物为目标DataGridColumnHeader并对DataGridCell它们应用自定义样式。这些定义是全局的(因为它们不使用 ax:key - 它们适用于该类型的所有实例)。

是否可以将这些类型的样式完全重置为“基本”Aero 主题(或当前正在使用的任何主题)以在我的应用程序的子部分中使用?

我试过使用

<Style TargetType="{x:Type DataGridColumnHeader}" BasedOn="{StaticResource {x:Type DataGridColumnHeader}}">
    </Style>

这似乎没有做任何事情,因为我猜它只是继承自己。

4

1 回答 1

13

有两种方法可以重置样式:

  1. 将元素的样式属性设置为{x:Null}。您必须在每个元素上执行此操作。

    <Button Height="50" Style="{x:Null}"></Button>
    
  2. 在包含要重置的元素的元素的资源中定义一个空样式。不要指定BasedOn,否则它将继承所有属性并且不会将它们重置为标准(正如您正确注意到的那样)。

    <Style TargetType="{x:Type DataGridColumnHeader}">
    </Style>
    
于 2015-05-28T10:00:02.237 回答