Максимальное количество элементов в Windows 8 GridView (в зависимости от размера экрана)

Я создаю приложение для Windows 8 (не 8.1).

Я хотел бы показать на экране некоторое содержимое, похожее на приложение Магазина Windows.

В настоящее время я использую GridView, но при необходимости можно использовать другой элемент управления.

Что мне нужно, так это

На небольшом экране магазин Windows отображает только 6 элементов в категории следующим образом:

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 в зависимости от доступного пространства и размера элементов.

Другие вопросы по тегам