wpf 设置GroupBox的Header居中显示
一、样式定义:
1.把所有的都改变样式:
<Style TargetType="GroupBox">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="GroupBox">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Text="{TemplateBinding Header}" HorizontalAlignment="Right"/>
<ContentControl Grid.Row="1" Content="{TemplateBinding Content}"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
2.单独引用一个样式:
<Style x:Key="CenterAlignedGroupBoxStyle" TargetType="{x:Type GroupBox}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="GroupBox">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Border Grid.Row="0" Background="BlueViolet" CornerRadius="5" Padding="5">
<TextBlock Text="{TemplateBinding Header}" HorizontalAlignment="Right"/>
</Border>
<ContentControl Grid.Row="1" Content="{TemplateBinding Content}"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
3.Header显示左中右定义
上诉1、2定义在右侧HorizontalAlignment="Right"
左侧HorizontalAlignment="Left"
居中HorizontalAlignment="Center"
二、使用样式:
<GroupBox Name="AIForecastResult" Header="结果" FontFamily="Arial" FontSize="12" Foreground="WhiteSmoke" Style="{StaticResource CenterAlignedGroupBoxStyle}">
</GroupBox>