WPF样式化数据网格头

WPF样式化数据网格头,wpf,xaml,datagrid,datagridcolumnheader,Wpf,Xaml,Datagrid,Datagridcolumnheader,大家好。 我以前的开发人员被修改为默认的DataGridColumnHeadersPresenter。结果,这种修改后的样式现在适用于解决方案中的所有DataGrid 现在我接到了团队负责人的任务,要在DataGrid标头中实现过滤器。 我已经为DataGridColumnHeader创建了自己的样式,但它不起作用。 这是: 当我在DataGrid上的XAML中使用此样式时: 仅页眉高度设置为样式中定义的50 我错在哪里?如何覆盖默认的DataGridColumnHeadersPresenter

大家好。 我以前的开发人员被修改为默认的DataGridColumnHeadersPresenter。结果,这种修改后的样式现在适用于解决方案中的所有DataGrid

现在我接到了团队负责人的任务,要在DataGrid标头中实现过滤器。 我已经为DataGridColumnHeader创建了自己的样式,但它不起作用。 这是:

当我在DataGrid上的XAML中使用此样式时:

仅页眉高度设置为样式中定义的50

我错在哪里?如何覆盖默认的DataGridColumnHeadersPresenter?若我将所有样式设置放在DataGridColumnHeadersPresenter中,那个么所有设置都可以正常工作,但在解决方案中的所有DataGrids上都可以


谢谢大家!

如何覆盖当前应用的样式取决于DataGridStyle的定义方式

若我将所有样式设置放在DataGridColumnHeadersPresenter中,那个么所有设置都可以正常工作,但在解决方案中的所有DataGrids上都可以

然后,您可以创建DataGridStyle的副本,并向其添加一个x:键以及DataGridColumnHeader样式:

<Style x:Key="CopyOfDataGridStyle" TargetType="..." />

这样就不会影响应用程序中的任何其他DataGrid控件。

谢谢。好主意,去试试看。
<c:FilteringDataGrid
    ItemsSource="{Binding Coefficients}"
    Style="{StaticResource CopyOfDataGridStyle}" ... />