我最近开始研究一个应该针对Windows RT(C#)的项目 在Silverlight&中有一些背景知识WPF我已经创建了一个程序集(库),它应该包含我的一些UserControls,Pages等,以便以后重复使用。
我已经为那个组件添加了一个空页面。
每当我导航到该页面时(使用导航机制),都会正确调用构造函数,但在InitializeComponent()调用期间会出现非描述性的XamlParseException。
Message: XAML parsing failed
InnerException : null
StackTrace: at Windows.UI.Xaml.Application.LoadComponent(Object component, Uri resourceLocator, ComponentResourceLocation componentResourceLocation)
at Project.Modules.ImagesModule.Pages.CameraPage.InitializeComponent() in c:\Users\misztalm\Documents\Visual Studio 2012\Projects\VirtualEye\trunk\Sources\Project.Modules.ImagesModule\obj\Debug\Pages\MyPage.g.i.cs:line 30
at Project.Modules.ImagesModule.Pages.MyPage..ctor() in c:\Users\misztalm\Documents\Visual Studio 2012\Projects\VirtualEye\trunk\Sources\Project.Modules.ImagesModule\Pages\MyPage.xaml.cs:line 20
我无法确定原因,所以我决定寻求一些指导。
其他人遇到这个?
答案 0 :(得分:1)
显然,Win RT的代码生成存在错误。此博客文章介绍了如何解决此问题。为我工作。
http://blog.excastle.com/2012/09/06/xamlparseexception-in-winrt/
答案 1 :(得分:0)
我使用以下方案遇到类似事件:
1 - 为winRT创建项目(创建解决方案)
2 - 将另一个winRT项目添加到解决方案
3 - 在项目2中创建UserControl
4 - 将控件放在项目1中的页面上。
5 - 运行应用程序获取Xaml分析程序错误
我们用于满足不同业务需求的解决方案有两个:
1 - 将控件从Project 2复制到名为Controls的SubFolder / SubNamespace中的主Project。当userControls位于将使用它们的项目时,问题不会保留。
2 - 如果必须将项目2中的控件与项目1分开 跨库使用的控件必须是模板化用户控件类型,而不是更通用的用户控件类型。
我并不声称知道为什么会发生这种情况......只是在XAML编译器的眼中这两种修改都是可以接受的。