方法 : テンプレートを使用して、GridView を使用する ListView のスタイルを設定する
DataTemplate オブジェクトと Style オブジェクトを使用して、GridView 表示モードを使用する ListView コントロールの外観を指定する方法を次の例に示します。
使用例
次の例では、GridViewColumn の列ヘッダーの外観をカスタマイズする Style オブジェクトと DataTemplate オブジェクトを示します。
<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 の列ヘッダー スタイルおyびテンプレートの概要」を参照してください。
次の例では、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}"/>