Nasıl yapılır: GridView Kullanan ListView'da Stil Oluşturmak için Şablonları Kullanma

Bu örnek, DataTemplate ve Style nesnelerinin ListView bir görünüm modu kullanan bir denetimin görünümünü belirtmek için nasıl kullanılacağını gösterir GridView .

Örnek

Aşağıdaki örneklerde Style ve DataTemplate için bir sütun üst bilgisinin görünümünü özelleştiren nesneler gösterilmektedir 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>

Aşağıdaki örnek, ve Style DataTemplate özelliklerini ayarlamak için bu ve nesnelerinin nasıl kullanılacağını gösterir HeaderContainerStyle HeaderTemplate GridViewColumn . DisplayMemberBindingÖzelliği sütun hücrelerinin içeriğini tanımlar.

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

HeaderContainerStyleVe, HeaderTemplate bir denetimin sütun üstbilgisi görünümünü özelleştirmek için kullanabileceğiniz çeşitli özelliklerden yalnızca ikikdir GridView . Daha fazla bilgi için bkz. GridView sütun üst bilgi stilleri ve şablonlara genel bakış.

Aşağıdaki örnek, DataTemplate içindeki hücrelerin görünümünü özelleştiren bir öğesinin nasıl tanımlanacağını gösterir GridViewColumn .

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

Aşağıdaki örnek, DataTemplate bir hücrenin içeriğini tanımlamak için öğesinin nasıl kullanılacağını gösterir GridViewColumn . Bu şablon, DisplayMemberBinding Önceki örnekte gösterilen özelliği yerine kullanılır GridViewColumn .

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

Ayrıca bkz.