文档中有一个关于如何设置组头样式的“精彩”示例。
<Style TargetType="{x:Type xcdg:GroupHeaderControl}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type xcdg:GroupHeaderControl}">
<Border Background="Orange" BorderThickness="2">
<StackPanel Orientation="Horizontal">
<CheckBox IsChecked="{Binding RelativeSource={RelativeSource
TemplatedParent}, Path=Group.IsExpanded}"/>
<ContentPresenter/>
</StackPanel>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
问题在于,这会将模板全局应用于所有网格和所有组。
我真正想知道的是,如何为 1 组指定用于GroupHeaderControl的模板?
类似:(不起作用)
<xcdg:Column Title="Station" FieldName="Station">
<xcdg:Column.GroupConfiguration>
<xcdg:GroupConfiguration UseDefaultHeadersFooters="False" >
<xcdg:GroupConfiguration.Headers>
<xcdg:GroupHeaderControl Template="{StaticResource customtableViewGroupHeaderControlTemplate}" />
<xcdg:GroupHeaderFooterItemTemplate VisibleWhenCollapsed="True" />
</xcdg:GroupConfiguration.Headers>
</xcdg:GroupConfiguration>
</xcdg:Column.GroupConfiguration>
</xcdg:Column>
有谁知道如何解决这个问题?
答案 0 :(得分:0)
我几乎意外地找到了答案。要单独设置此模板,您必须执行以下操作:
在您的资源中添加以下内容:
<DataTemplate x:Key="GroupByTest">
<xcdg:GroupHeaderControl Template="{StaticResource MyGroupHeaderControlTemplate}" />
</DataTemplate>
执行此操作将允许您设置单个组头标题模板。然而,这样做似乎会产生一大堆其他必须解决的小问题。