我有一组控件“MyCollection”,它们在运行时发生了变化。为此我必须遵循一些约束条件,例如:如果我的参数“MyCollection.Count >= 4”,则属性“NumberOfcolumns”的值为 2,以便创建新行,并显示控件每两个两个。
这就是我展示我的收藏的方式:
<ItemsControl ItemsSource="{Binding MyCollection}" BorderThickness="0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" >
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate >
<UniformGrid Columns="{Binding NumberOfColumns}" VerticalAlignment="Center" HorizontalAlignment="Center" Background="Transparent"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
问题是我的控件有不同的大小,并且在 UniformGrids 中,单元格是统一的......我的设计并不是很漂亮,因为我在大单元格中显示了一些控件!
有人可以帮我解决这个问题吗?
注意:如果可能的话,请给我一个详细的解决方案,而不是像:“使用 WrapPanel ...”之类的东西,还请注意我正在关注 MVVM,所以没有后面的代码。