我有两个ItemsControl嵌套在一个ItemsControl中。每个都放置在具有水平方向StackPanel ItemsPanelTemplates的Grid Columns中彼此相邻,以便它们的内容水平分层。我想让两个ItemsControl占据父级的全部宽度(50:50),我希望它们中的项目是正确的,并且分别左对齐...因此它们都是居中的,类似于(原谅我的ASCII艺术尝试):嵌套ItemsControls中项目的排列
| LH ItemsControl | RH ItemsControl |
| [][][][]|[][][] |
这里是我的代码,到目前为止,我已经调整了的HorizontalAlignment属性,但是,如果我让他们占据了中心,那么这两个StackPanels不填全宽的父母。
<ItemsControl ItemsSource="{Binding Things}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<ItemsControl Grid.Column="0" ItemsSource="{Binding LeftThings}" HorizontalAlignment="Stretch">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" Background="LightPink" HorizontalAlignment="Stretch" Height="37"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
<ItemsControl Grid.Column="1" ItemsSource="{Binding RightThings}" HorizontalAlignment="Stretch">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" Background="LightBlue" HorizontalAlignment="Stretch" Height="37"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
任何想法?
丰富
有你在尝试的HorizontalAlignment =“左” L ItemsControl的面板。 和R ItemsControl面板上的orizontalAlignment =“Right”? 仅供参考,Stretch是您不需要明确设置的默认值。 –
感谢您回复@eranotzap,但我担心这会给我正确的布局(相互居中)的项目,但StackPanel不占用父项的全部宽度。 – Dutts
你为什么需要它..? StackPanel只占用空间是需要的.. –