这个问题的WPF版本是here:,但它还没有得到回答,我不知道UWP TreeView是否会有相同的答案。
我试图添加一个DataTemplateSelector到新的UWP树视图,刚刚添加到windows 10版本1803,但它不工作。它记录了here如何使用XAML树视图控件,甚至显示了如何修改模板,以改变项目数据模板,工作正常。我需要使用一个数据模板选择器,因为我的每个节点都使用不同的对象,我需要它们以不同的方式显示。内容设置得很好,除了在Object参数中将null传递给datatemplateselector之外,一切都正常。
下面是我的代码:(与Microsoft的示例相同,只是使用了ItemTemplateSelector)
<Style TargetType="TreeView">
<Setter Property="IsTabStop" Value="False" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TreeView">
<TreeViewList x:Name="ListControl"
ItemTemplateSelector="{StaticResource CardSelector}"
ItemContainerStyle="{StaticResource TreeViewItemStyle}"
CanDragItems="True"
AllowDrop="True"
CanReorderItems="True">
<TreeViewList.ItemContainerTransitions>
<TransitionCollection>
<ContentThemeTransition />
<ReorderThemeTransition />
<EntranceThemeTransition IsStaggeringEnabled="False" />
</TransitionCollection>
</TreeViewList.ItemContainerTransitions>
</TreeViewList>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
有没有人对此有什么见解或经验?我的datatemplateselector "cardselector"工作正常,我已经在几个地方使用过了,没有任何麻烦。
2条答案
按热度按时间wecizke31#
所以我的问题不是让我的任何东西工作,而是看看TreeViewControl是否与DataTemplateSelector一起工作。我只有“CardTemplateSelector”在那里,因为我在我的应用程序的其他几个地方使用它,我知道它工作。我的问题实际上是“是的,treeview工作与选择器”或“不,它不”我真的在寻找别人尝试与自己的测试模板选择器,并让我知道,如果他们可以得到它的工作。任何具体的代码从我是不相关的问题。只是看看你能让它与任何选择器你想要的工作
是的。TreeView与
ItemTemplateSelector
配合良好。我使用了文档中的所有代码并创建了一个自定义类,如下所示:
我创建了另一个DataTemplate,如下所示:
我的
CardTemplateSelector
类如下所示:我只是在
MainPage.xaml.cs
中添加新行代码:下面是整个XAML页面的资源代码:
到目前为止我已经回答了你的问题。但是我仍然想让你知道How to ask a good question。在我上面的评论中,我要求你提供相关的代码,那我就可以快速重现你的问题,帮你诊断一下,但是你说
I'm really looking for someone else to try it with their own test template selector and to let me know if they can get it working.
,没关系,你看就我一个人回复,你问了好多天这个问题,没有其他社区成员帮你这个问题,那'这就是为什么我要求你在这里贴一些代码。如果你在这里提供相关的代码,我相信很多社区成员会很乐意帮助你解决这个问题。我真的希望你能理解。ha5z0ras2#
似乎对在哪里应用数据模板感到困惑。而且所有重要的TargetType都被忽略了。
如果要在自定义DataTemplateSelector中的数据项上设置句柄,则需要:
只有这样,TreeViewNode的数据项才会提供给自定义DataTemplateSelector的SetTemplateCore(对象项)和SetTemplateCore(对象项,DependencyObject容器)重写。图片和音乐库树视图