在将generic.xaml中定义的“ ItemContainerStyle”设置为“ 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:”?这似乎是个坏主意。我需要分别重新创建样式和行为吗?
答案 0 :(得分:0)
我尝试(最低版本17763和目标版本17134)消除了版本问题,但似乎我都需要17763。即使我没有设置ItemsSource。我正在尝试音乐库TreeView示例中的docs:“docs.microsoft.com/en-us/windows/uwp/design/…”中使用的技术。我实际项目的最低版本是16299。
因此,问题很明显。 TreeView控件是从内部版本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库。请注意:
重要提示:要使用WinUI 2.1,项目的Min版本必须为14393或更高,Target版本必须为17763或更高。
然后,如果要在WinUI库中使用TreeView控件,请在XAML页面的顶部添加引用。
xmlns:controls="using:Microsoft.UI.Xaml.Controls"
在XAML页面上,您可以直接输入以下内容:
<controls:TreeView></controls:TreeView>