Практическое руководство. Использование шаблонов для задания стиля ListView, использующего GridView
В этом примере показано, как использовать DataTemplate и Style объектов для определения внешнего вида ListView элемента управления, использующего GridView режим просмотра.
Пример
В приведенных ниже примерах Style и DataTemplate объекты, которые настраивать внешний вид заголовка столбца для GridViewColumn.
<Style x:Key="myHeaderStyle" TargetType="{x:Type GridViewColumnHeader}">
<Setter Property="Background" Value="LightBlue"/>
</Style>
<DataTemplate x:Key="myHeaderTemplate">
<DockPanel>
<CheckBox/>
<TextBlock FontSize="16" Foreground="DarkBlue">
<TextBlock.Text>
<Binding/>
</TextBlock.Text>
</TextBlock>
</DockPanel>
</DataTemplate>
В следующем примере показано, как использовать эти Style и DataTemplate объекты для установки HeaderContainerStyle и HeaderTemplate свойства GridViewColumn. DisplayMemberBinding Свойство определяет содержимое ячейки столбца.
<GridViewColumn Header="Month" Width="80"
HeaderContainerStyle="{StaticResource myHeaderStyle}"
HeaderTemplate="{StaticResource myHeaderTemplate}"
DisplayMemberBinding="{Binding Path=Month}"/>
HeaderContainerStyle И HeaderTemplate только два из нескольких свойств, которые можно использовать для настройки внешнего вида заголовка столбца для GridView элемента управления. Дополнительные сведения см. в разделе Общие сведения о стилях заголовков столбцов GridView и шаблонах.
В следующем примере показано определение DataTemplate , настраивает внешний вид ячеек в GridViewColumn.
<DataTemplate x:Key="myCellTemplateMonth">
<DockPanel>
<TextBlock Foreground="DarkBlue" HorizontalAlignment="Center">
<TextBlock.Text>
<Binding Path="Month"/>
</TextBlock.Text>
</TextBlock>
</DockPanel>
</DataTemplate>
В следующем примере показано, как использовать этот DataTemplate для определения содержимого GridViewColumn ячейки. Этот шаблон используется вместо DisplayMemberBinding свойство, которое показано в предыдущем GridViewColumn пример.
<GridViewColumn Header="Month" Width="80"
CellTemplate="{StaticResource myCellTemplateMonth}"/>