Wpf 我可以在DataTemplate中使用DataTemplateSelector吗?
我有一个ItemsControl,它使用StackPanel显示项目列表 我希望为每一行显示一个标签,但标签左侧的内容由DataTemplateSelector定义。我不想为TemplateSelector生成的每个DataTemplate重新定义标签 这可能吗Wpf 我可以在DataTemplate中使用DataTemplateSelector吗?,wpf,xaml,datatemplate,datatemplateselector,Wpf,Xaml,Datatemplate,Datatemplateselector,我有一个ItemsControl,它使用StackPanel显示项目列表 我希望为每一行显示一个标签,但标签左侧的内容由DataTemplateSelector定义。我不想为TemplateSelector生成的每个DataTemplate重新定义标签 这可能吗 <ItemsControl ItemsSource="{Binding Path=Values}" > <ItemsControl.Resources> <v:MyTemplateSelector
<ItemsControl ItemsSource="{Binding Path=Values}" >
<ItemsControl.Resources>
<v:MyTemplateSelector x:Key="myTemplateSelector"></v:MyTemplateSelector>
</ItemsControl.Resources>
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel></StackPanel>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<WrapPanel>
<Label>Test: </Label>
<!--What goes here should be defined by myTemplateSelector-->
</WrapPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
测试:
我想出来了。解决方案是使用具有ContentTemplateSelector属性的ContentPresenter元素:
<DataTemplate>
<WrapPanel>
<Label>Test: </Label>
<ContentPresenter
ContentTemplateSelector="{StaticResource ResourceKey=myTemplateSelector}">
</ContentPresenter>
</WrapPanel>
</DataTemplate>
测试: