使用 stackpanel 而不是 dockpanel 时,项目对齐方式发生了变化

Item alignments changed when using stackpanel instead of dockpanel

我正在开发一个实现,我想在 window 中显示一些项目,如下所示

---------------------
|                   |
|                   |   
|                   |
|                   |
|                   |
|                   |
|                   |
| xx xx       xx xx |
|--------------------  

附带的 scrrenn 截图也显示相同的 .但是我需要以某种方式使用堆栈面板而不是停靠面板来实现它

虽然我可以在使用堆栈面板时从停靠面板按要求使它工作,但它弄乱了所有对齐方式。

这是它应该看起来的所需方式的 ss

这是它在堆栈面板中的样子

下面是我的代码,有人可以帮我吗?

<Grid>

        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="*"/>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="Auto"/>
        </Grid.RowDefinitions>

        <StackPanel Grid.Row="2" Margin="0,10,0,0">
            <StackPanel HorizontalAlignment="Left" Orientation="Horizontal">

                <TextBlock>  Text01  </TextBlock>

                <TextBlock>  Text02  </TextBlock>


            </StackPanel>

            <StackPanel HorizontalAlignment="Right" Orientation="Horizontal" >

                <TextBlock>  Text03  </TextBlock>

                <TextBlock>  Text04  </TextBlock>


            </StackPanel>
        </StackPanel>

    </Grid>

没有理由强迫 StackPanel 做它不支持的事情。尝试网格:

<Grid Grid.Row="2" Margin="0,10,0,0">
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto"/>
        <ColumnDefinition Width="Auto"/>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="Auto"/>
        <ColumnDefinition Width="Auto"/>
    </Grid.ColumnDefinitions>

    <TextBlock Grid.Column="0" Text="Text 01"/>
    <TextBlock Grid.Column="1" Text="Text 02"/>

    <TextBlock Grid.Column="3" Text="Text 03"/>
    <TextBlock Grid.Column="4" Text="Text 04"/>
</Grid>