以编程方式将DataTemplate插入另一个DataTemplate

时间:2012-09-03 09:49:58

标签: wpf datatemplate

我想创建一个可自定义的ListBox,在某种意义上我想在运行时选择,显示绑定集合中的哪些项目。类似的东西:

<CustomizedListBox Format="[Name][Age]"/>

我有一个ItemTemplateSelector,可以在For循环中很好地生成内容。但现在的故事是,我想在XAML中为列表的不同部分预定义DataTemplates,然后将它们组合在ItemTemplateSelector中。所以我的目标是拥有这些定义:

<DataTemplate x:Key="Name">
    <TextBlock Text="{Binding Name, StringFormat='Name: {0}'}"/>
</DataTemplate>
<DataTemplate x:Key="Age">
    <TextBlock Text="{Binding Age}" HorizontalAlignment="Right"/>
</DataTemplate>

然后以编程方式组合它们。

我的问题是,在XAML中生成的数据模板的VisualTree是空的 - 显然,WPF“使用不同的机制”。我不能使用LoadContent - 因为我还不想实例化模板。

我想要的是什么?

1 个答案:

答案 0 :(得分:0)