我最近将操作系统从Windows 8.1升级到Windows 10。我使用VS 2013和更新4。 我的应用程序使用XAMLToolkit中的treeview控件,它在Win 8.1环境中运行良好。但在Windows 10下,它给了我以下错误。 请帮忙。
这是我使用的XAMLToolkit版本: nuget.org/packages/winrtxamltoolkit.windows
异常消息:
System.Runtime.InteropServices.COMException:错误HRESULT已从调用COM组件返回E_FAIL。 在Windows.UI.Xaml.Controls.ItemsControl.get_ItemTemplate() 在WinRTXamlToolkit.Controls.HeaderedItemsControl.PrepareHeaderedItemsControlContainer(HeaderedItemsControl控件,对象项,ItemsControl parentItemsControl,样式parentItemContainerStyle) 在WinRTXamlToolkit.Controls.HeaderedItemsControl.PrepareHeaderedItemsControlContainerForItemOverride(DependencyObject element,O
堆栈跟踪:
在Windows.UI.Xaml.Controls.ItemsControl.get_ItemTemplate() 在WinRTXamlToolkit.Controls.HeaderedItemsControl.PrepareHeaderedItemsControlContainer(HeaderedItemsControl控件,对象项,ItemsControl parentItemsControl,样式parentItemContainerStyle) 在WinRTXamlToolkit.Controls.HeaderedItemsControl.PrepareHeaderedItemsControlContainerForItemOverride(DependencyObject元素,Object item,ItemsControl parent,Style parentItemContainerStyle) 在WinRTXamlToolkit.Controls.TreeView.PrepareContainerForItemOverride(DependencyObject元素,对象项) 在Windows.UI.Xaml.FrameworkElement.MeasureOverride(Size availableSize)
内部异常为空
答案 0 :(得分:1)
我遇到了同样的问题,我所做的只是删除了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>
答案 1 :(得分:0)
似乎您在HierarchicalDataTemplate
的XAML代码中使用了TreeView
。用相应的C#代码替换XAML将有所帮助。我们可以在DataTemplateExtensions.Hierarchy
的{{1}}事件中为代码隐藏设置Loaded
附加属性,如下所示:
TreeView
在代码隐藏中:
<controls:TreeView x:Name="treeView"
Loaded="treeView_Loaded"
...