使用 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>
我正在开发一个实现,我想在 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>