我是WPF的新手,
我无法将groupbox标题文字“abc”对齐到右边,它留在左边,不知道为什么,有人可以帮我吗?
<Window x:Class="UserInterface.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="500" Width="625">
<Grid ShowGridLines="True">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid Grid.Column="0" ShowGridLines="True">
<Grid.RowDefinitions>
<RowDefinition Height="4*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<StackPanel Grid.Row="1">
<GroupBox>
<GroupBox.Header>
<DockPanel>
<TextBlock HorizontalAlignment="Right">abc</TextBlock>
</DockPanel>
</GroupBox.Header>
</GroupBox>
</StackPanel>
</Grid>
</Grid>
</Window>
答案 0 :(得分:1)
如果您想将标题与Template
对齐,则必须覆盖Groupbox
的{{1}}。默认情况下,它位于默认模板的左侧。
关键是
Right
设置为Grid.ColumnSpan
。2
设置为HorizontalAlignment
。以下是可行的XAML:
Right
答案 1 :(得分:0)
您需要在Control的模板中重新设计ContentPresenter。
MSDN有一个例子,但不知怎的,它也重新设计了GroupBox。
检查一下,看看那是不是你要找的东西。您正在寻找此行
<ContentPresenter Margin="4"
ContentSource="Header"
RecognizesAccessKey="True" />
只需添加:
HorizontalAlignment="Right"