ランタイムで変更されるコントロール「MyCollection」のコレクションがあります。たとえば、そのためのいくつかの制約に従う必要があります。パラメーター「MyCollection.Count >= 4」の場合、プロパティ「NumberOfcolumns」の値は 2 になり、新しい行を作成し、2 対 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に従っているため、コードビハインドがないことにも注意してください。