我可以在DataTemplate中使用DatateMplatesElector吗?
-
14-10-2019 - |
题
我有一个使用StackPanel的项目scontrol来显示项目列表。
我希望每行都出现一个标签,但是对于标签左侧的内容,要由DatateMplatesElector定义。我不想重新定义由模板运行仪生成的每个DataTemplate的标签。
这可能吗?
<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>
解决方案
我想到了。解决方案是将ContentPresenter元素与ContentTemplatesElector属性:
<DataTemplate>
<WrapPanel>
<Label>Test: </Label>
<ContentPresenter
ContentTemplateSelector="{StaticResource ResourceKey=myTemplateSelector}">
</ContentPresenter>
</WrapPanel>
</DataTemplate>
不隶属于 StackOverflow