如何使用DataGridColumnHeader';WPF中GridViewColumnHeader的s样式?

如何使用DataGridColumnHeader';WPF中GridViewColumnHeader的s样式?,wpf,xaml,Wpf,Xaml,DataGridColumnHeader的样式在我使用的工具包中定义,并且可以在每个版本中更改。我可以告诉GridViewColumnHeader使用为DataGridColumnHeader定义的样式吗?如果是,如何在编译时检查WPF样式中的setter;CSS样式是动态应用的 您可以将目标类型设置为诸如“control”之类的基类 <Style x:Key="Highlight" TargetType="{x:Type Control}"> <Setter Pro

DataGridColumnHeader的样式在我使用的工具包中定义,并且可以在每个版本中更改。我可以告诉GridViewColumnHeader使用为DataGridColumnHeader定义的样式吗?如果是,如何在编译时检查WPF样式中的setter;CSS样式是动态应用的

您可以将目标类型设置为诸如“control”之类的基类

<Style x:Key="Highlight" TargetType="{x:Type Control}">
     <Setter Property="Foreground" Value="Red"/>
</Style>

现在,您可以在“control”的所有子类上使用此样式:

<Button Style="{StaticResource Highlight}" Content="Test"/>
<TextBox Style="{StaticResource Highlight}" Text="Test"/>


但我认为DataGridColumnHeader和GridViewColumnHeader上不可能实现这一点,因为它们的控件基本上是不同的。

不能使用相同的样式,因为控件是不同的。只需在工具箱中再次定义相同的样式,然后将TargetType更改为GridViewColumnHeader,为样式指定不同的键并使用它。谢谢!我就是这么想的。您的建议的问题是我没有看到DataGridColumnHeader的样式定义。谢谢!我希望可以使用通用部分。实际上,您可以使用基于styöe targeting DataGridColumnHeader的target GridViewColumnHeader创建样式。没有例外或任何事情。这似乎不起作用。我对其他控件类型尝试了相同的方法,结果出现了异常。