是否可以在WPF中为GroupBox
Header
设置位置对齐?默认设置是放在GroupBox
轮廓的左上角,但我希望它位于顶部的中心位置。我知道您可以使用以下方式设置文本的属性:
<GroupBox Grid.Row="1" HorizontalAlignment="Center">
<GroupBox.Header>
<TextBlock Text="Cash Match" Foreground="Black" FontWeight="Bold"/>
</GroupBox.Header>
</GroupBox>
但我希望根据GroupBox
大纲设置它的位置。
答案 0 :(得分:12)
很简单!只需编辑GroupBox模板:
在Blend中,执行以下操作:
搜索以下部分:
<Border x:Name="Header" Padding="3,1,3,0"
Grid.Column="1" Grid.Row="0" Grid.RowSpan="2">
...
</Border>
将Grid.Column
更改为2
HorizontalAlignment="Right"
你刚刚将标题对齐了!但它背后的白色差距。为此,
现在搜索以下部分:
<Border BorderBrush="White" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="4" Grid.ColumnSpan="4" Grid.Row="1" Grid.RowSpan="3">
<Border.OpacityMask>
...
</Border.OpacityMask>
...
</Border>
将RenderTransformOrigin="0.5,0.5"
添加到边框
就在上面,添加以下代码(这会将标题后面的“white gap”移到右边:
<Border.RenderTransform>
<ScaleTransform ScaleX="-1"/>
</Border.RenderTransform>
你完成了!你刚刚得到一个具有右对齐标题的GroupBox !!!
请告诉我这是否是你所要求的。
答案 1 :(得分:2)
更改group-box-header alinment将导致不符合操作系统的控件。
因此,我认为您无法使用默认样式更改此设置。自定义模板可以解决您的问题。