无法分配给属性' Windows.UI.Xaml.Controls.ContentPresenter.Content'

时间:2014-08-28 11:06:44

标签: c# xaml windows-store-apps

我正在使用新的通用应用程序开发一个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

1 个答案:

答案 0 :(得分:1)

原因是有一个自定义ContentControl,其上有多个ContentPresenter。如果多个ContentPresenters的默认值为null,则XAML引擎将因无法正确布局而导致间歇性故障。

解决方法是将默认值设置为空网格或类似对象。

问题的完整内部详情为here