У меня есть приложение WPF, в котором есть ViewBox для отображения элементов в моей коллекции, с использованием сетки из 2 столбцов для моих результатов.
Что я хотел бы сделать, так это изменить количество столбцов в зависимости от количества предметов в моей коллекции. Например, если в списке <10 элементов, отобразите их всего в 1 столбце; Если в моем списке 10 пунктов, то покажите их в 2 столбцах; Если в моем списке 20 пунктов, тогда покажите 3 столбца. </p>
Вот что у меня есть на данный момент:
<Viewbox>
<ItemsControl ItemsSource="{Binding myCollection}" Style="{DynamicResource myStyle}" />
</Viewbox>
Вот что в данный момент определяет myStyle:
<Style x:Key="myStyle" TargetType="{x:Type ItemsControl}">
<Setter Property=ItemsControl.ItemsPanel">
<Setter.Value>
<ItemsPanelTemplate>
<UniformGrid Columns="2" />
</ItemsPanelTemplate>
</Setter.Value>
</Setter>
</Style>
Как я могу заставить этот код работать с вышеуказанным требованием? Спасибо.