Создание таблицы (DataGrid) в приложениях Windows 8 metro (C#/XAML)

Я пытаюсь создать такую таблицу: enter image description here

Как я могу сделать что-то подобное с помощью ListView или GridView? Я не мог найти правильный способ добавить заголовки таблицы..

4 ответов


я реализовал элемент управления DataGrid (с сортировкой, детализацией и навигацией по событию) в моей бесплатной библиотеке:

https://github.com/MyToolkit/MyToolkit/wiki/DataGrid

WinRT (Windows 8.1):

enter image description here

Универсальное Приложение Для Windows (Windows 10):


чтобы не звучать властно, но я бы настоятельно призвал вас сделать шаг назад от специфики реализации и получить лучшее представление о принципах дизайна пользовательского интерфейса Windows 8 (ранее известный как Metro).

ознакомьтесь с "8 черт больших приложений стиля метро" (построить презентацию Дженсена Харриса. Ты не хочешь подниматься. и сдвиньте парадигмы, которые вы использовали раньше, а скорее охватите уникальные функции платформы, такие как ее первая природа касания, чтобы переосмыслить навигацию и построить новый тип приложения.

с практической точки зрения, то XAML ListView и GridView настройка образца интерактивности это хорошее место, чтобы начать экспериментировать с тем, как вы можете развиваться от того, что вы опубликовали выше к дизайну окна 8.

наконец, если вы ищете что-то ближе к тому, что у вас есть выше - имея в виду, что он может не пройти сертификацию, если он не подписывается достаточно близко к принципам проектирования - вы можете найти некоторую помощь в этой теме.


Telerik предоставляет сетку данных для приложений Магазина windows 8. Работает действительно здорово. Я не могу сказать, проходит ли он сертификацию - мы увидим, потому что я собираюсь загрузить свое приложение сейчас...

вот ссылка: http://www.telerik.com/products/windows-8/controls/grid.aspx


Я также пытаюсь иметь таблицу (DataGrid), как это, но я не мог. Так же, как Хит и пробная версия, я достиг этого с помощью ListView, и я жестко закодировал элементы, но придется выяснить, чтобы сделать это динамически. Я попытался включить код XAML здесь, но это было запрещено. Так вот ссылке на мой пост.

вот код XAML из ссылки выше:

<ListView Grid.Row="0" HorizontalAlignment="Center" Width="300" Margin="0,20,0,0 ">
            <ListViewItem>
                <StackPanel Orientation="Horizontal">
                    <TextBlock Width="150">Apple</TextBlock>
                    <TextBlock>100</TextBlock>
                </StackPanel>
            </ListViewItem>
            <ListViewItem>
                <StackPanel Orientation="Horizontal">
                    <TextBlock Width="150">Banana</TextBlock>
                    <TextBlock>2000</TextBlock>
                </StackPanel>
            </ListViewItem>
            <ListViewItem>
                <StackPanel Orientation="Horizontal">
                    <TextBlock Width="150">Oranges</TextBlock>
                    <TextBlock>1500</TextBlock>
                </StackPanel>
            </ListViewItem>           
        </ListView>