Silverlight:在C#中加载资源字典时出现COM异常

时间:2014-12-30 15:01:04

标签: c# silverlight silverlight-5.0 resourcedictionary

偶然发现了一个我似乎无法摆脱的错误。我想分享它并检查是否只是我或者是否有人知道解决方法。

上下文:

我有一个场景,我为用户控件创建一个基类(抽象和继承自UserControl)。虽然该基类本身没有XAML,但我希望加载包含将由所有子类使用的样式的资源字典。因此,我必须加载此资源字典并将其加载到我的C#代码类的合并资源字典中。

重现问题:

  • 使用默认设置创建新的Silverlight 5应用程序(在VS2013 SP4上测试)
  • 在项目的根目录下创建新的资源字典。该文件的名称不重要
  • 获取后面的MainPage代码,并在构造函数的末尾添加这些行:

    ResourceDictionary dic = new ResourceDictionary();
    Uri source = new Uri("Dictionary1.xaml", UriKind.Relative);
    dic.Source = source;
    
  • 运行解决方案。该项目应该在上面该片段的最后一行崩溃,抛出实际System.Exception类的实例,并显示消息“错误HRESULT E_FAIL已从调用COM组件返回。“堆栈跟踪和跟踪输出无益。

我尝试过不同的事情,比如等待Loaded事件,不同类型的Uris,但找不到任何有效的变体。

所以你去吧。如果有人有解释,或者对从C#添加合并资源字典的不同方式有所了解,我会很高兴。

由于

0 个答案:

没有答案