Comment : utiliser des modèles pour appliquer un style à un ListView utilisant GridView

Mise à jour : novembre 2007

Cet exemple indique comment utiliser les objets DataTemplate et Style pour spécifier l'apparence d'un contrôle ListView qui utilise un mode d'affichage GridView.

Exemple

Les exemples suivants montrent des objets Style et DataTemplate qui personnalisent l'apparence d'un en-tête de colonne pour une 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>

L'exemple suivant indique comment utiliser ces objets Style et DataTemplate pour définir les propriétés HeaderContainerStyle et HeaderTemplate d'une GridViewColumn. La propriété DisplayMemberBinding définit le contenu des cellules d'une colonne.

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

Le HeaderContainerStyle et le HeaderTemplate ne sont que deux des nombreuses propriétés que vous pouvez utiliser pour personnaliser l'apparence d'un en-tête de colonne pour un contrôle GridView. Pour plus d'informations, consultez Vue d'ensemble des modèles et styles d'en-tête de colonne GridView.

L'exemple suivant indique comment définir un DataTemplate qui personnalise l'apparence des cellules d'une GridViewColumn.

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

L'exemple suivant indique comment utiliser ce DataTemplate pour définir le contenu d'une cellule GridViewColumn. Ce modèle est utilisé à la place de la propriété DisplayMemberBinding, montrée dans l'exemple GridViewColumn précédent.

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

Pour l'exemple complet, consultez ListView utilisant un GridView avec des modèles, exemple.

Voir aussi

Concepts

Vue d'ensemble de GridView

Vue d'ensemble de ListView

Référence

ListView

GridView

Autres ressources

Rubriques Comment relatives à ListView

Exemples de ListView