正确地将样式资源文件添加到C#WPF项目

时间:2015-07-06 15:18:18

标签: c# .net wpf xaml

我已经阅读了很多关于ResourceDictionaries的内容,但我不确定他们与文件系统的关系。 如果我引用ResourceDictionary Source="/X/a.b",这是否意味着我可以将资源文件a.b放在目录X下,其中X与我的bin, obj, App.xaml等相同的目录?

我试图使用Selen.Wpf.SystemStyles做这样的事情,但我收到错误FileNotFound

  

具有显示名称的组件' Selen.Wpf.SystemStyles'无法加载   在'加载' AppDomain的绑定上下文与ID 1.原因   失败的原因是:System.IO.FileNotFoundException:无法加载文件   或汇编' Selen.Wpf.SystemStyles,Culture = neutral'或其中一个   依赖。系统找不到指定的文件。

我已将所有资源放在目录中,并确认这些文件符合我认为的文件系统期望值。 我错过了其他惯例吗?

导入资源的代码是:

    <Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary 
            Source="pack://application:,,,/Selen.Wpf.SystemStyles;component/Styles.xaml"/>
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>

1 个答案:

答案 0 :(得分:0)

您的代码尝试从名为Selen.Wpf.SystemStyles的外部程序集加载资源文件。里面有一个名为Styles.xaml的嵌入式资源文件。

从例外情况看,您似乎缺少对所提及的程序集的引用,或者它没有被复制到bin\Debug目录。

另请阅读MSDN上的包URI。