Как создать ListBox.Itemtemplate, datatemplate программно в Windows Phone 7 - PullRequest
6 голосов
/ 09 мая 2011

Я обнаружил, что в файле .xaml для списка есть несколько шаблонов элементов, шаблонов данных и привязок. Есть ли способ создать его в коде позади?

Есть ли способ создать шаблоны данных программно?

это КОД XAML, НО мне нужно в коде использовать c # не в XAML, потому что работаю в создании динамического списка с добавлением itemtemplatem, datatemplate

<ListBox Height="520" HorizontalAlignment="Left" Margin="0,6,0,0" Name="lstimge" VerticalAlignment="Top" Width="450" >
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <StackPanel Orientation="Horizontal">
                            <Image  Source="{Binding Image}" Width="150" Stretch="Uniform" HorizontalAlignment="Center" />
                            <TextBlock Text="{Binding FileName}" TextWrapping="Wrap" />
                        </StackPanel>
                    </DataTemplate>
                </ListBox.ItemTemplate>
            </ListBox>

Пожалуйста, дайте решение

Спасибо, Ashok

Ответы [ 3 ]

5 голосов
/ 09 мая 2011

Вы можете использовать XamlReader.Load для динамической загрузки XAML в коде и приведения его к DataTemplate, позже назначая его ItemTemplate. Здесь является примером.

5 голосов
/ 09 мая 2011

Вы не можете создавать шаблоны из кода - это можно сделать только из XAML.

Если вы динамически сгенерировали шаблон XAML в своем коде, вы можете загрузить его, как описано здесь .

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

1 голос
/ 13 мая 2011

Является ли DataTemplate, который вы хотите использовать, одинаковым для всех списков или он также генерируется динамически?Если он одинаков для всех из них, вы можете сохранить его как стиль в своих ресурсах , а затем просто динамически создать объект Listbox и применить стиль.

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