如何:使用模板创建使用 GridView 的 ListView 的样式

更新:2007 年 11 月

此示例演示如何使用 DataTemplateStyle 对象来指定使用 GridView 视图模式的 ListView 控件的外观。

示例

下面的示例显示 StyleDataTemplate 对象,这些对象自定义 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>

下面的示例演示如何使用这些 StyleDataTemplate 对象来设置 GridViewColumnHeaderContainerStyleHeaderTemplate 属性。DisplayMemberBinding 属性定义列单元格的内容。

<GridViewColumn Header="Month" Width="80"
      HeaderContainerStyle="{StaticResource myHeaderStyle}"
      HeaderTemplate="{StaticResource myHeaderTemplate}"
      DisplayMemberBinding="{Binding Path=Month}"/>

HeaderContainerStyleHeaderTemplate 只是您可用于自定义 GridView 控件的列标题外观的若干属性中的两个。有关更多信息,请参见 GridView 列标题的样式和模板概述

下面的示例演示如何定义对 GridViewColumn 中的单元格外观进行自定义的 DataTemplate

<DataTemplate x:Key="myCellTemplateMonth">
  <DockPanel>
    <TextBlock Foreground="DarkBlue" HorizontalAlignment="Center">
      <TextBlock.Text>
        <Binding Path="Month"/>
      </TextBlock.Text>
    </TextBlock>
  </DockPanel>
</DataTemplate>

下面的示例演示如何使用此 DataTemplate 来定义 GridViewColumn 单元格的内容。将使用此模板,而不是前面的 GridViewColumn 示例中显示的 DisplayMemberBinding 属性。

<GridViewColumn Header="Month" Width="80"
      CellTemplate="{StaticResource myCellTemplateMonth}"/>

有关完整示例,请参见 结合使用 GridView 和模板的 ListView 的示例

请参见

概念

GridView 概述

ListView 概述

参考

ListView

GridView

其他资源

ListView 帮助主题

ListView 示例