是否有可能设定的地位对于一个 GroupBox Header 在WPF?默认是放在左上角 GroupBox 轮廓,但我希望它能为中心。我知道你可以设定的属性,案文使用:

<GroupBox Grid.Row="1" HorizontalAlignment="Center">
   <GroupBox.Header> 
      <TextBlock Text="Cash Match" Foreground="Black" FontWeight="Bold"/>
   </GroupBox.Header>
</GroupBox>

但是我找到设置的位置相对于 GroupBox 大纲。

有帮助吗?

解决方案

这很简单!只是编辑模板的组框:

在混合,做到以下几点:

  • 右键组框>编辑模板>编辑复制>确定
  • 搜索以下部分:

    <Border x:Name="Header" Padding="3,1,3,0" 
            Grid.Column="1" Grid.Row="0" Grid.RowSpan="2">
        ...
    </Border>
    
  • 改变 Grid.Column2

  • 还设置 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" 到边境

  • 只是上所述,添加以下代码(这将转移 "白缝隙" 后面的头向右:

    <Border.RenderTransform>
        <ScaleTransform ScaleX="-1"/>
    </Border.RenderTransform>
    

你做!你只是得到了一组框有的权利齐头!!!

请告诉我如果这是你需要的。

其他提示

更改组箱头alinment将导致非OS-符合管制。

因此,我认为你将无法使用默认的样式来改变这种状况。自定义模板将解决你的问题。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top