如何使停靠面板中的文本对齐和拉伸正确?

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>