создать сетку из шаблона - PullRequest
       3

создать сетку из шаблона

0 голосов
/ 21 декабря 2010

Хауди, У меня есть еще один вопрос, касающийся телефона 7 ... Я хочу сгенерировать пару гридов в стековой панели - поскольку все они имеют одинаковую компоновку, я подумал, что было бы неплохо использовать DataTemplates ...

Но потом я обнаружил, что объект GRID не имеет свойства "DataTemplate", и теперь я немного застрял ... шаблон, который я использую, следующий:

        <DataTemplate x:Key="Speise">
            <Grid>
                <TextBlock Height="36" Margin="8,43,104,0" TextWrapping="Wrap" Text="TextBlock" VerticalAlignment="Top"/>
                <TextBlock HorizontalAlignment="Right" Height="36" Margin="0,44,8,0" TextWrapping="Wrap" Text="TextBlock" VerticalAlignment="Top" Width="92"/>
            </Grid>
        </DataTemplate>

То, как я сейчас думал о создании своих объектов:

Grid blubber = (Grid) this.Resources ["Speise"];

Но это не работает ... Я думаю, что это опять-таки очень короткая вещь, но я понятия не имею, как гуглить за это :(

Ответы [ 2 ]

0 голосов
/ 22 декабря 2010

Вы можете использовать ListBox в качестве контейнера, а не StackPanel.Он поддерживает DataTemplate, как вы можете видеть здесь.

, связывающий источник данных Linq со списком

0 голосов
/ 21 декабря 2010

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

За пределами телефона Silverlight имеет класс DataGrid, который можно использовать таким образом, но он недоступен вWP7.

Если вы хотите простой способ создания большой сетки, вы можете посмотреть на создание чего-либо в коде, используя вложенные циклы для создания строк и столбцов.Не зная точно, чего вы пытаетесь достичь, трудно дать дальнейший совет.

Кроме того, в вашем образце DataTemplate вы используете сетку только для хранения двух текстовых блоков.Это кажется слишком сложным.Разве StackPanel (или что-то еще) не будет более подходящим?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...