amb*_*g36 8 wpf header groupbox alignment
是否可以GroupBox Header在WPF中设置位置对齐?默认设置是放在GroupBox轮廓的左上角,但我希望它在顶部居中.我知道您可以使用以下方法设置文本的属性:
<GroupBox Grid.Row="1" HorizontalAlignment="Center">
<GroupBox.Header>
<TextBlock Text="Cash Match" Foreground="Black" FontWeight="Bold"/>
</GroupBox.Header>
</GroupBox>
Run Code Online (Sandbox Code Playgroud)
但是我希望根据GroupBox轮廓设置它的位置.
mg0*_*007 13
这很简单!只需编辑GroupBox模板:
在Blend中,执行以下操作:
搜索以下部分:
<Border x:Name="Header" Padding="3,1,3,0"
Grid.Column="1" Grid.Row="0" Grid.RowSpan="2">
...
</Border>
Run Code Online (Sandbox Code Playgroud)更改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>
Run Code Online (Sandbox Code Playgroud)添加RenderTransformOrigin="0.5,0.5"到边框
在上面,添加以下代码(这会将标题后面的"白色间隙"移到右侧:
<Border.RenderTransform>
<ScaleTransform ScaleX="-1"/>
</Border.RenderTransform>
Run Code Online (Sandbox Code Playgroud)你完成了!你刚刚得到一个具有右对齐标题的GroupBox!
请告诉我这是否是您所需要的.