J'ai perdu de GroupBox
dans mon formulaire que leur texte d'en-tête doit être Gras . Je sais comment le faire pour un seul GroupBox
:
<GroupBox>
<GroupBox.Header>
<TextBlock Text="HEADER TEXT" FontWeight="Bold"/>
</GroupBox.Header>
</GroupBox>
Mais je suis intéressé de savoir comment faire avec Styles
. Voici ce que j'ai essayé:
<Style TargetType="GroupBox">
<Setter Property="BorderBrush" Value="{StaticResource lightBlueBrush}"/>
<Setter Property="Margin" Value="25,1,5,5"/>
//<Setter ??
</Style>
J'ai essayé <Setter Property="HeaderTemplate" Value={StaticResource myTemp}>
qui myTemp
est une simple DataTemplate
Mais VS soudainement fermé! Je ne suis pas sûr de pouvoir le faire correctement, alors tout le monde peut m'aider?
EDIT: S'il vous plaît tester votre idée avant de poster comme une réponse!
Avez-vous essayé ce qui suit?
<Style TargetType="GroupBox">
<Setter Property="BorderBrush" Value="{StaticResource lightBlueBrush}"/>
<Setter Property="Margin" Value="25,1,5,5"/>
<Setter Property="HeaderTemplate">
<Setter.Value>
<DataTemplate>
<TextBlock Text="{Binding}" FontWeight="Bold"/>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
Usage:
<GroupBox Header="Title" />
Un groupboxs headerTemplate est un type de DataTemplate. vous devez donc fournir un objet datatemplate contenant le style ou le modèle.
essayez ci-dessous un.
<Window.Resources>
<DataTemplate x:Key="DataTemplate1">
<TextBlock Text="Test Templated Header"/>
</DataTemplate>
</Window.Resources>
<Grid>
<GroupBox Header="Test Header" HeaderTemplate="{StaticResource DataTemplate1}">
<Border BorderBrush="Red" Margin="10">
<TextBlock Text="Hello"/>
</Border>
</GroupBox>
</Grid>