Windows runtime Windows 10上的WinRTXAMLToolkit树视图崩溃

Windows runtime Windows 10上的WinRTXAMLToolkit树视图崩溃,windows-runtime,windows-store-apps,winrt-xaml,windows-10,winrt-xaml-toolkit,Windows Runtime,Windows Store Apps,Winrt Xaml,Windows 10,Winrt Xaml Toolkit,我最近将我的操作系统从Windows 8.1升级到了Windows 10。我正在使用VS 2013和更新4。 我的应用程序使用XAMLToolkit中的Treeview控件,它在Windows8.1环境下运行良好。但是在Windows10下,它给了我以下错误。 请帮忙 这是我使用的XAMLToolkit版本: nuget.org/packages/winrtxamltoolkit.windows 异常消息: System.Runtime.InteropServices.COMException:

我最近将我的操作系统从Windows 8.1升级到了Windows 10。我正在使用VS 2013和更新4。 我的应用程序使用XAMLToolkit中的Treeview控件,它在Windows8.1环境下运行良好。但是在Windows10下,它给了我以下错误。 请帮忙

这是我使用的XAMLToolkit版本: nuget.org/packages/winrtxamltoolkit.windows

异常消息:

System.Runtime.InteropServices.COMException:调用COM组件时返回错误HRESULT E_FAIL。 在Windows.UI.Xaml.Controls.ItemsControl.get_ItemTemplate()中 在WinRTXamlToolkit.Controls.HeaderedItemsControl.PrepareHeaderedItemsControl容器(HeaderedItemsControl控件、对象项、项控件父项控件、样式父项容器样式) 在WinRTXamlToolkit.Controls.HeaderedItemControl.PrepareHeaderedItemControlContainerForItemOverride(DependencyObject元素,O

堆栈跟踪:

在Windows.UI.Xaml.Controls.ItemsControl.get_ItemTemplate()中 在WinRTXamlToolkit.Controls.HeaderedItemsControl.PrepareHeaderedItemsControl容器(HeaderedItemsControl控件、对象项、项控件父项控件、样式父项容器样式) 在WinRTXamlToolkit.Controls.HeaderedItemsControl.PrepareHeaderedItemsControlContainerForItemOverride(DependencyObject元素、对象项、项控件父项、样式父项ItemContainerStyle) 在WinRTXamlToolkit.Controls.TreeView.PrepareContainerForItemOverride(DependencyObject元素,对象项) 在Windows.UI.Xaml.FrameworkElement.MeasureOverride(可用大小大小大小)


内部异常为空

似乎您在
树视图
的XAML代码中使用了
层次数据模板
。将XAML替换为相应的C代码将有所帮助。我们可以在
树的
加载
事件中的代码隐藏中设置
DataTemplateExtensions.Hierarchy
附加属性查看
,如下所示:

<controls:TreeView x:Name="treeView"
                   Loaded="treeView_Loaded"
...

我遇到了同样的问题,我只是删除了treeview控件中的itemtemplate,并在页面资源中单独添加,然后将itemtemplate引用到我的treeview控件。它解决了我的问题

<Page.Resources>

<DataTemplate x:Name="TreeViewItemTemplate">
<Grid>
<TextBlock Text="{Binding Name}" />
</Grid>

<XCDATA:DataTemplateExtensions.Hierarchy>
<XCDATA:HierarchicalDataTemplate ItemsSource="{Binding Items}" />
</XCDATA:DataTemplateExtensions.Hierarchy>

</DataTemplate>

</Page.Resources>

<XC:TreeView 
    ItemTemplate="{StaticResource TreeViewItemTemplate}"
    ItemsSource="{Binding ObjShopItems}">      
</XC:TreeView>


请解释“ItemsSource=new Windows.UI.Xaml.Data.Binding{Path=new PropertyPath(“Folders”)}”一行是什么“Folders”?这就是我需要提供的层次结构吗?我正在使用MVVM绑定数据,还有其他方法吗?我说的是
HierarchycalDataTemplate
。所以我的答案只有在您使用这个东西的情况下才对您有用。只有当您的XAML中有类似这样的东西时:
..
您可以在这里看到这一行:ItemsSource=“{Binding Folders}”So“Folders”是一个子项路径。子项列表。您好,是的,我确实在我的XAML上使用HierarchicalDataTemplate,XAMLToolkit的供应商说他们将对此进行研究并发布一个新版本。所以我想我会等到他们回来。在他们修复它之前,如果您发现它工作正常,请将此标记为答案。(至少,我用这种方式解决了它,效果很好)。谢谢你提供的信息,我会尝试一下,让你知道发生了什么。我知道这已经有一段时间了,但我今天尝试了,效果很好。非常感谢。
<Page.Resources>

<DataTemplate x:Name="TreeViewItemTemplate">
<Grid>
<TextBlock Text="{Binding Name}" />
</Grid>

<XCDATA:DataTemplateExtensions.Hierarchy>
<XCDATA:HierarchicalDataTemplate ItemsSource="{Binding Items}" />
</XCDATA:DataTemplateExtensions.Hierarchy>

</DataTemplate>

</Page.Resources>

<XC:TreeView 
    ItemTemplate="{StaticResource TreeViewItemTemplate}"
    ItemsSource="{Binding ObjShopItems}">      
</XC:TreeView>