如何在Windows Phone 7中以编程方式创建ListBox.Itemtemplate,datatemplate
本文关键字:创建 方式 ListBox Itemtemplate datatemplate 编程 Windows Phone | 更新日期: 2023-09-27 17:55:23
我发现列表框的.xaml文件中有一些项模板,数据模板和绑定。有没有办法在代码隐藏中创建它?
有没有办法以编程方式创建数据模板?
这是 XAML 代码,但我需要在代码中使用 C# 而不是在 XAML 中,因为正在通过添加项模板进行动态列表框创建,数据模板
<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>
请给出解决方案
谢谢阿肖克
不能从代码生成模板 - 这只能从 XAML 完成。
如果在代码中动态生成模板 XAML,则可以按此处所述加载它。
我怀疑如果你沿着这条路走下去,你会发现自己打开了一整罐蠕虫。 作为替代方法,您可以预定义一组模板,并在运行时动态选择正确的模板,如此处所述
可以使用 XamlReader.Load 在代码隐藏中动态加载 XAML,并将其强制转换为 DataTemplate,然后再将其分配给 ItemTemplate。下面是一个示例。
您要对所有列表框使用相同的数据模板,还是也是动态生成的?如果它们都相同,则可以将其另存为资源中的样式,然后动态创建Listbox对象并应用样式。