C# 如何以自定义Listview样式自定义GridViewHeaderRowPresenter的外观?
我想从Aero中的默认样式开始创建自定义ListView样式。我删除了所有的aero bull代码,只剩下基本的东西,但是现在,我想定制listview标题的外观C# 如何以自定义Listview样式自定义GridViewHeaderRowPresenter的外观?,c#,.net,wpf,listview,styles,C#,.net,Wpf,Listview,Styles,我想从Aero中的默认样式开始创建自定义ListView样式。我删除了所有的aero bull代码,只剩下基本的东西,但是现在,我想定制listview标题的外观 GridViewHeaderRowPresenter 必须自定义此元素的样式,使其看起来符合我的要求。然而,似乎我做不到。我试着把它换成一个 GridViewColumnHeader 但是所有的绑定都消失了。有什么建议吗?谢谢!我设法找出了问题所在。我使用的是“”,在我的测试应用程序中它起了作用。但是,在实际应用程序中尝试使用同一
GridViewHeaderRowPresenter
必须自定义此元素的样式,使其看起来符合我的要求。然而,似乎我做不到。我试着把它换成一个
GridViewColumnHeader
但是所有的绑定都消失了。有什么建议吗?谢谢!我设法找出了问题所在。我使用的是“”,在我的测试应用程序中它起了作用。但是,在实际应用程序中尝试使用同一样式时,它要么被覆盖,要么未被使用。所以我尝试了类似于Style x:Key=“Style_GridViewColumnHeader”TargetType=“{x:Type GridViewColumnHeader}”的方法。这是有效的,但由于某些原因,填充不适用。这是我用于填充部分的代码:
<Style.Triggers>
<Trigger Property="Role" Value="Padding">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="GridViewColumnHeader">
<Border x:Name="HeaderBorder" BorderBrush="{DynamicResource BRUSH_ListView_HeaderBorderBorderBrush_ALL}" BorderThickness="0,1,0,1" Background="{DynamicResource BRUSH_ListView_HeaderBorderBackground_UP}">
<Border x:Name="borderHighlight" BorderBrush="{DynamicResource BRUSH_ListView_borderHighlightBorderBrush_UP}" BorderThickness="0,1,0,0" />
</Border>
<ControlTemplate.Triggers>
<Trigger Property="Height" Value="Auto">
<Setter Property="MinHeight" Value="20"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
如果您设置了GridViewColumnHeader的样式,而现在绑定消失了,您可能做错了什么,但是除非您发布代码,否则我们无法帮助您。谢谢!我设法找出了问题所在。我在用