Может показаться, что ContainerStyle
используется вместо HeaderTemplate
, когда указаны оба, как показано ниже;
<controls:DataGrid.GroupStyle>
<GroupStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Path=Name}" Background="Yellow" />
</StackPanel>
</DataTemplate>
</GroupStyle.HeaderTemplate>
<GroupStyle.ContainerStyle>
<Style TargetType="{x:Type GroupItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type GroupItem}">
<Expander IsExpanded="true" Background="Violet">
<Expander.Header>
<DockPanel TextBlock.FontWeight="Bold">
<TextBlock Text="{Binding Path=Name}" />
<TextBlock Text="{Binding Path=ItemCount}"/>
</DockPanel>
</Expander.Header>
<ItemsPresenter />
</Expander>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</GroupStyle.ContainerStyle>
</GroupStyle>
</controls:DataGrid.GroupStyle>
Единственная разница в том, что HeaderTemplate
не имеет доступа к ItemsPresenter
, или разница связана с иерархическими структурами данных?
Спасибо!
Отредактировано для ссылки на http://wpftutorial.net/DataGrid.html#grouping. На самом деле я не брал пример непосредственно оттуда, но это отличный сайт, так что в любом случае у них может быть ссылка.