Wpf 如何使dockpanel中的文本对齐和拉伸正确?

Wpf 如何使dockpanel中的文本对齐和拉伸正确?,wpf,text-alignment,dockpanel,Wpf,Text Alignment,Dockpanel,在xaml数据模板中,我有 dockpanel是水平的,即stackpanel位于右侧,网格位于左侧 我需要两个按钮将每个按钮拉伸到dockpanel垂直高度的50%。我该怎么做 我试图实现的愿望的示意图。这些控制措施旨在尽可能延伸至边界。 我需要textblock拉伸到dockpanel高度垂直空间的100%,并且它的文本垂直居中。 它不起作用。在Strech的情况下,我得到100%的空间,但文本垂直居中,而在居中的情况下,文本块不会拉伸。文本块不能拉伸到100%的垂直空间,也不能垂直居中。

在xaml数据模板中,我有


dockpanel是水平的,即stackpanel位于右侧,网格位于左侧

我需要两个按钮将每个按钮拉伸到dockpanel垂直高度的50%。我该怎么做

我试图实现的愿望的示意图。这些控制措施旨在尽可能延伸至边界。

我需要textblock拉伸到dockpanel高度垂直空间的100%,并且它的文本垂直居中。 它不起作用。在Strech的情况下,我得到100%的空间,但文本垂直居中,而在居中的情况下,文本块不会拉伸。

文本块不能拉伸到100%的垂直空间,也不能垂直居中。毕竟这只是文字

您应该能够摆脱StackPanel,用2x2网格替换DockPanel。大概是这样的:

<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>

我不明白。你想把文本块放在按钮上面吗?请张贴您想要的图片。dockpanel是水平的,即stackpanel在右侧,网格在左侧。文本应显示在哪里?文本块不能同时拉伸到100%的垂直空间,也不能明显地垂直居中。为什么我不明白这一点?你的意思是一个文本块总是压缩到它的文本大小吗?为什么你想让文本块拉伸?文本块只是文本,你还说你想要中间的文本…?同样,请贴一张你真正想要的照片。现在还不清楚。
<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>