Практическое руководство. Использование шаблонов для настройки представления 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}"/>

См. также