我正在使用新的通用应用程序开发一个Windows应用商店应用程序(我目前不包括电话项目)。 间歇性在运行时我收到Windows.UI.Xaml.Markup.XamlParseException
消息Failed to assign to property 'Windows.UI.Xaml.Controls.ContentPresenter.Content'
。
这里的关键是这是间歇性的,我可以多次运行应用程序而没有任何问题然后突然间它会发生&如果我重新开始它很少,如果之后立即发生。它只在运行时出现。
就环境而言,在每个页面上我都有一个自定义内容控件,我们用它来设置页面的镶边,这样它就是统一的,所以我们也可以处理弹出窗口......这个控件的XAML是在:http://pastebin.com/T6KNWhxy
大多数页面都会出现此问题,但相机页面(http://pastebin.com/azdQ33Y2处的XAML)似乎更频繁地发生。
我构建了一个轻量级应用,它使用相同的控件来相当一致地重现问题:https://github.com/rmaclean/HeatherSpeedApp
正常运行时也会发生(即没有调试)。从该崩溃中加载转储文件具有以下错误(与事件日志中的详细信息匹配):
Unhandled exception at 0x7582B152 (combase.dll) in triagedump.dmp: 0xC000027B: An application-internal exception has occurred (parameters: 0x055C31F8, 0x00000004).
我试过了:
关于可能导致什么原因的任何建议?
异常详情
{"XAML parsing failed."}
[Windows.UI.Xaml.Markup.XamlParseException]: {"XAML parsing failed."}
Data: {System.Collections.ListDictionaryInternal}
HelpLink: null
HResult: -2144665590
InnerException: null
Message: "XAML parsing failed."
Source: null
StackTrace: null
TargetSite: null
答案 0 :(得分:1)
原因是有一个自定义ContentControl,其上有多个ContentPresenter。如果多个ContentPresenters的默认值为null,则XAML引擎将因无法正确布局而导致间歇性故障。
解决方法是将默认值设置为空网格或类似对象。
问题的完整内部详情为here。