C# 在运行时将数据模板指定给列表框
在我的xaml代码中,在C# 在运行时将数据模板指定给列表框,c#,wpf,xaml,C#,Wpf,Xaml,在我的xaml代码中,在窗口.Resources部分中,我使用x:key定义了一个数据模板 <Window.Resources> <DataTemplate x:key> ... </DataTemplate> </Window.Resources> ... 我有一个列表框,我必须在.xaml.cs代码中为其分配此数据模板。如何做到这一点?使用ItemTemplate在XAML中声明性地为列表中的每个项目分配一个数据
窗口.Resources
部分中,我使用x:key
定义了一个数据模板
<Window.Resources>
<DataTemplate x:key>
...
</DataTemplate>
</Window.Resources>
...
我有一个列表框,我必须在.xaml.cs代码中为其分配此数据模板。如何做到这一点?使用ItemTemplate在XAML中声明性地为列表中的每个项目分配一个数据模板
<ListBox ItemTemplate="{StaticResource YourResourceKey}">
假设您的数据模板名为YourResourceKey
<DataTemplate x:Key="YourResourceKey">
在窗口的代码隐藏中,您可以执行以下操作:
myListBox.ItemTemplate = (DataTemplate)Resources["resourceKey"];
除非你有理由使用代码隐藏,否则我会坚持使用XAML并使用@Charleh的方法。啊,对不起,是的,我会远离代码隐藏方法-你有理由使用代码隐藏吗?