Максимальное количество элементов в Windows 8 GridView (в зависимости от размера экрана)
Я создаю приложение для Windows 8 (не 8.1).
Я хотел бы показать на экране некоторое содержимое, похожее на приложение Магазина Windows.
В настоящее время я использую GridView, но при необходимости можно использовать другой элемент управления.
Что мне нужно, так это
На небольшом экране магазин Windows отображает только 6 элементов в категории следующим образом:
В то время как на большом экране он показывает 9 пунктов следующим образом:
Я хотел бы добавить аналогичную реализацию, но я не знаю как.
Нужно ли устанавливать только 6 элементов в качестве источника для GridView, когда экран маленький, и 9, если экран большой? Или GridView может автоматически отображать только столько элементов, сколько можно увидеть в 3 столбцах и количестве строк n?
Вот пример кода моего GridView - я использую WrapGrid, чтобы ограничить количество столбцов до 3
<Grid Name="MyGrid">
<GridView Name="MyGridView">
<GridView.ItemsPanel>
<ItemsPanelTemplate>
<WrapGrid Orientation="Horizontal" MaximumRowsOrColumns="3" />
</ItemsPanelTemplate>
</GridView.ItemsPanel>
<GridView.ItemTemplate>
<DataTemplate>
<Grid>
<Image Source="{Binding Icon}" Margin="10" Stretch="Uniform" Width="150" Height="150" />
</Grid>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
1 ответ
Может быть, вы можете сделать прикрепленное поведение и прикрепить его к ItemsWrapGrid. Поведение будет прослушивать SizeChanged и автоматически изменять свойство MaximumRowsOrColumns в зависимости от доступного пространства и размера элементов.