在UWP应用程序中使用TreeView时如何处理命名空间冲突

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在UWP应用程序中使用TreeView时如何处理命名空间冲突相关的知识,希望对你有一定的参考价值。

将“ItemContainerStyle”设置为generic.xaml中定义的“StaticResource TreeViewItemStyle”时抛出异常。该消息表明样式使用“Windows.UI.Xaml.Controls.TreeViewItem”而不是“Microsoft.UI.Xaml.Controls.TreeViewItem”。

我删除了ItemContainerStyle赋值以确认它是导致异常的行。

<ControlTemplate TargetType="muxcontrols:TreeView">
                        <muxcontrols:TreeViewList x:Name="ListControl"
                                      ItemTemplate="{StaticResource TreeViewItemDataTemplate}"
                                      ItemContainerStyle="{StaticResource TreeViewItemStyle}">

这个问题显而易见,但一个适当的解决方案可以避开我。要利用该样式,我是否在generic.xaml文件中开始预先添加“muxcontrols:”?这似乎是一个坏主意。我是否需要分别重新创建风格和行为?

答案

我尝试(min build 17763和target build 17134)来消除版本问题,但似乎我需要两个17763。即便如此,我还没有设置ItemsSource。我正在尝试使用文档中使用的技术:“docs.microsoft.com/en-us/windows/uwp/design / ...”,用于音乐库TreeView示例。我的真实项目的最小版本是16299。

所以,问题很明显。 TreeView控件是从build 17134引入的。如果您使用的是平台API,则需要确保项目的目标版本是17134或更高版本。既然你说你想设置ItemsSource。 ItemsSource及其相关API需要Windows 10,版本1809(SDK 17763)或更高版本,因此您需要使您的项目的目标版本为17763。

然后,您可以直接使用TreeView控件,如下所示:

<TreeView></TreeView>

如果您使用的是Windows UI Library APIs,则需要按照Getting started with the Windows UI Library 文档下载并安装Windows UI Library。请注意:

重要说明:要使用WinUI 2.1,项目的Min版本必须为14393或更高版本,目标版本必须为17763或更高版本。

然后,如果要在WinUI库中使用TreeView控件,请在XAML页面中,在页面顶部添加引用

xmlns:controls="using:Microsoft.UI.Xaml.Controls"

在XAML页面上,您可以直接输入以下内容:

<controls:TreeView></controls:TreeView>

以上是关于在UWP应用程序中使用TreeView时如何处理命名空间冲突的主要内容,如果未能解决你的问题,请参考以下文章

UILocalNotification - 应用程序未运行时如何处理?

IOS,应用启动时如何处理多个本地通知?

当用户在应用程序中锁定设备时如何处理我的应用程序[重复]

使用 iOS 模拟器时如何处理 TestFlight 中的检查点?

JWT:当用户打开新标签时如何处理 GET 请求?

JWT:当用户打开新标签时如何处理 GET 请求?