我有以下xaml:
<Border BorderBrush="Black"
BorderThickness="1.5"
CornerRadius="5">
<Grid ShowGridLines="True">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<ItemsControl composite:RegionManager.RegionName="MainRegion">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
<Button Grid.Column="1" HorizontalAlignment="Right" VerticalAlignment="Top" Style="{StaticResource WindowCloseButton}"/>
</Grid>
</Border>
当我调整窗口大小时,换行面板中的项目不会换行。
当ItemsControl不在网格中时,它可以工作:
<Border BorderBrush="Black"
BorderThickness="1.5"
CornerRadius="5">
<ItemsControl composite:RegionManager.RegionName="MainRegion">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
</Border>
如果ItemsControl在Grid中,有没有办法让项目正确包装?
答案 0 :(得分:0)
这一行的问题:
<ColumnDefinition Width="Auto"/>
“自动”一词意味着“我会尽可能多地调整大小”。使用固定数字或星号:
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.5*"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
答案 1 :(得分:0)
将网格列宽度更改为*而不是自动
:此强>:
<ColumnDefinition Width="Auto"/>
<强>变为强>:
<ColumnDefinition Width="*"/>