在运行时将数据模板分配给列表框

时间:2012-06-23 11:04:35

标签: c# wpf xaml

在我的xaml代码中,在Window.Resources部分内,我定义了一个带有x:key的数据模板。

<Window.Resources>
    <DataTemplate x:key>
     ...
    </DataTemplate>
</Window.Resources>

我有一个列表框,我必须在.xaml.cs代码中分配此数据模板。这是怎么做到的?

2 个答案:

答案 0 :(得分:0)

使用ItemTemplate在XAML中以声明方式为列表中的每个项目分配数据模板

<ListBox ItemTemplate="{StaticResource YourResourceKey}">

假设您的DataTemplate名为YourResourceKey

<DataTemplate x:Key="YourResourceKey">

答案 1 :(得分:0)

在窗口的代码隐藏中,你可以这样做:

myListBox.ItemTemplate = (DataTemplate)Resources["resourceKey"];

除非您有理由使用代码隐藏,否则我会坚持使用XAML并使用@ Charleh的方法。