如何:使用模板设置使用 GridView 的 ListView 样式
此示例演示如何使用 DataTemplate 和 Style 对象来指定使用 GridView 视图模式的 ListView 控件的外观。
例
以下示例展示了 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 对象来设置 GridViewColumn的 HeaderContainerStyle 和 HeaderTemplate 属性。 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 单元格的内容。 使用此模板,而不是上一 GridViewColumn 示例中所示的 DisplayMemberBinding 属性。
<GridViewColumn Header="Month" Width="80"
CellTemplate="{StaticResource myCellTemplateMonth}"/>