微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Silverlight App.xaml中的“元素已经是另一个元素的子元素”错误

我的App.xaml文件中出现了一个奇怪的错误

Element is already the child of another element.

我的App.xaml文件如下所示:

<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
             x:Class="Celerior.Annapurna.SL.App">
    <Application.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="ProvisiorResourceDictionary.xaml"/>
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </Application.Resources>
</Application>

报告整个ResourceDictionary元素的错误(从第5行到第9行).

ProvisiorResourceDictionary.xaml包含许多样式和模板.在我看来没什么好激动的.

有谁知道什么是错的?

亲切的问候,

罗纳德威尔登伯格

解决方法

由于AnthonyWJones评论中提供的提示,我自己找到了问题的原因.

看来Silverlight resource dictionary中的所有内容都必须是可共享的.原因是资源字典中的项目(可能)将添加到控件层次结构中的多个位置.

我的资源字典中有两个不可共享的项目.

编辑:在WPF中,您可以在资源字典中的对象上使用x:Shared属性来强制WPF为每个资源检索创建新实例.不幸的是,Silverlight does not support这个属性.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐