GroupBox ControlTemplate, exemple
Mise à jour : novembre 2007
Les contrôles de Windows Presentation Foundation (WPF) disposent d'un ControlTemplate qui contient l'arborescence visuelle de ce contrôle. Vous pouvez modifier la structure et l'apparence d'un contrôle en modifiant le ControlTemplate de ce contrôle. Il est impossible de ne remplacer qu'une partie de l'arborescence visuelle d'un contrôle ; pour modifier l'arborescence visuelle d'un contrôle, vous devez affecter le nouveau ControlTemplate complet à la propriété Template de ce contrôle.
Cette rubrique montre le ControlTemplate du contrôle WPFGroupBox.
Cette rubrique comprend les sections suivantes.
- Composants requis
- GroupBox ControlTemplate, exemple
- Rubriques connexes
Composants requis
Pour exécuter les exemples de cette rubrique, vous devez savoir comment écrire des applications WPF. Pour plus d'informations, consultez Mise en route de Windows Presentation Foundation. Vous devez également savoir comment les styles sont utilisés dans WPF. Pour plus d'informations, consultez Application d'un style et création de modèles.
GroupBox ControlTemplate, exemple
Bien que cet exemple contienne tous les éléments définis dans le ControlTemplate d'un GroupBox par défaut, les valeurs spécifiques doivent être considérées comme des exemples.
<Style TargetType="GroupBox">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="GroupBox">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Border
Grid.Row="0"
Background="{StaticResource LightBrush}"
BorderBrush="{StaticResource NormalBorderBrush}"
BorderThickness="1"
CornerRadius="2,2,0,0" >
<ContentPresenter
Margin="4"
ContentSource="Header"
RecognizesAccessKey="True" />
</Border>
<Border
Grid.Row="1"
Background="{StaticResource WindowBackgroundBrush}"
BorderBrush="{StaticResource SolidBorderBrush}"
BorderThickness="1,0,1,1"
CornerRadius="0,0,2,2" >
<ContentPresenter
Margin="4" />
</Border>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
L'exemple précédent utilise les ressources suivantes.
<LinearGradientBrush x:Key="LightBrush" StartPoint="0,0" EndPoint="0,1">
<GradientBrush.GradientStops>
<GradientStopCollection>
<GradientStop Color="#FFF" Offset="0.0"/>
<GradientStop Color="#EEE" Offset="1.0"/>
</GradientStopCollection>
</GradientBrush.GradientStops>
</LinearGradientBrush>
...
<LinearGradientBrush x:Key="NormalBorderBrush" StartPoint="0,0" EndPoint="0,1">
<GradientBrush.GradientStops>
<GradientStopCollection>
<GradientStop Color="#CCC" Offset="0.0"/>
<GradientStop Color="#444" Offset="1.0"/>
</GradientStopCollection>
</GradientBrush.GradientStops>
</LinearGradientBrush>
...
<SolidColorBrush x:Key="WindowBackgroundBrush" Color="#FFF" />
...
<SolidColorBrush x:Key="SolidBorderBrush" Color="#888" />
Pour l'exemple complet, consultez Style avec ControlTemplates, exemple.
Voir aussi
Concepts
Recommandations pour la conception de contrôles auxquels un style peut être appliqué