Condividi tramite


Procedura: Usare i modelli per stilizzare un ListView con GridView

In questo esempio viene illustrato come utilizzare gli oggetti DataTemplate e Style per specificare l'aspetto di un controllo ListView che usa una modalità di visualizzazione GridView.

Esempio

Negli esempi seguenti vengono illustrati gli oggetti Style e DataTemplate che personalizzano l'aspetto dell'intestazione di colonna per un 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>

Nell'esempio seguente viene illustrato come utilizzare questi oggetti Style e DataTemplate per impostare le proprietà HeaderContainerStyle e HeaderTemplate di un GridViewColumn. La proprietà DisplayMemberBinding definisce il contenuto delle celle della colonna.

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

Le HeaderContainerStyle e le HeaderTemplate sono solo due di diverse proprietà che è possibile usare per personalizzare l'aspetto dell'intestazione di colonna per un controllo GridView. Per ulteriori informazioni, vedere Stili e modelli delle intestazioni delle colonne di GridView.

Nell'esempio seguente viene illustrato come definire un DataTemplate che personalizza l'aspetto delle celle in un GridViewColumn.

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

Nell'esempio seguente viene illustrato come usare questa DataTemplate per definire il contenuto di una cella GridViewColumn. Questo modello viene usato invece della proprietà DisplayMemberBinding illustrata nell'esempio precedente GridViewColumn.

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

Vedere anche