如何使停靠面板中的文本对齐和拉伸正确?
How to get text-alignment and stretch in the dockpanel correct?
在xamlDataTemplate
我有
<DockPanel >
<StackPanel DockPanel.Dock="Right" Orientation="Vertical">
<Button />
<Button />
</StackPanel>
<Grid VerticalAlignment="Stretch/Center">
<TextBlock HorizontalAlignment="Stretch"
TextAlignment="Right"
Text="{Binding ...}"
VerticalAlignment="Stretch"
DockPanel.Dock="Right"/>
</Grid>
</DockPanel>
停靠面板是水平的,即堆栈面板在右边,网格在左边。
我需要两个按钮分别拉伸到停靠面板垂直高度 space 的 50%。我该怎么做?
我尝试实现的想要的示意图。控件旨在尽可能地延伸到边界。
我需要将文本块拉伸到停靠面板垂直高度 space 的 100%,并且文本要垂直居中。
它在公元前不起作用。在 Strech 的情况下,我得到 100% space 但文本是垂直顶部的,在 Center 的情况下,文本块没有拉伸。
A TextBlock
不能既“拉伸到垂直方向的 100% space”又垂直居中。毕竟只是文字而已。
您应该能够摆脱 StackPanel
并将 DockPanel
替换为 2x2 Grid
。像这样:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*" />
<ColumnDefinition Width="1*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Button Grid.Column="1" Content="Button1" />
<Button Grid.Column="1" Content="Button2" Grid.Row="1" />
<Grid Grid.RowSpan="2">
<TextBlock Grid.RowSpan="2"
TextAlignment="Right"
Text="Text..."
VerticalAlignment="Center"
HorizontalAlignment="Center"/>
</Grid>
</Grid>
在xamlDataTemplate
我有
<DockPanel >
<StackPanel DockPanel.Dock="Right" Orientation="Vertical">
<Button />
<Button />
</StackPanel>
<Grid VerticalAlignment="Stretch/Center">
<TextBlock HorizontalAlignment="Stretch"
TextAlignment="Right"
Text="{Binding ...}"
VerticalAlignment="Stretch"
DockPanel.Dock="Right"/>
</Grid>
</DockPanel>
停靠面板是水平的,即堆栈面板在右边,网格在左边。
我需要两个按钮分别拉伸到停靠面板垂直高度 space 的 50%。我该怎么做?
我尝试实现的想要的示意图。控件旨在尽可能地延伸到边界。
我需要将文本块拉伸到停靠面板垂直高度 space 的 100%,并且文本要垂直居中。 它在公元前不起作用。在 Strech 的情况下,我得到 100% space 但文本是垂直顶部的,在 Center 的情况下,文本块没有拉伸。
A TextBlock
不能既“拉伸到垂直方向的 100% space”又垂直居中。毕竟只是文字而已。
您应该能够摆脱 StackPanel
并将 DockPanel
替换为 2x2 Grid
。像这样:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*" />
<ColumnDefinition Width="1*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Button Grid.Column="1" Content="Button1" />
<Button Grid.Column="1" Content="Button2" Grid.Row="1" />
<Grid Grid.RowSpan="2">
<TextBlock Grid.RowSpan="2"
TextAlignment="Right"
Text="Text..."
VerticalAlignment="Center"
HorizontalAlignment="Center"/>
</Grid>
</Grid>