【发布时间】:2011-05-17 12:11:46
【问题描述】:
我正在尝试使用语句动态添加 xaml 资源文件,
Application.Current.Resources.MergedDictionaries.Add(new ResourceDictionary() { Source = new Uri("resources/leaf_styles.xaml", UriKind.Relative) });
这是抛出异常,找不到资源'resources/leaf_styles.xaml'。
我将leaf_styles.xaml 文件添加到资源文件夹下的项目中,并且BuildAction 设置为“Content”,CopyAlways 设置为True。我仍然收到此错误。有人可以帮我指出问题所在吗?
附加信息 -
- 我不想将 xaml 文件作为资源嵌入
- 当前项目为.net 3.5类库项目
- 上面的合并字典语句写在同一个项目的一个类中
- 我还手动添加了 [assembly: AssemblyAssociatedContentFile("resources/leaf_styles.xaml")] 一旦我发现这不起作用(用于测试)
更新
如果我把它作为一个绝对位置,它工作正常。
Application.Current.Resources.MergedDictionaries.Add(new ResourceDictionary() { Source = new Uri(@"D:\foo\trunk\bin\resources\leaf_styles.xaml", UriKind.Absolute) });
【问题讨论】:
-
如果你给它一个绝对路径(仅用于测试)它是否有效?
-
是的,如果我把它作为绝对路径,它就可以工作。 Application.Current.Resources.MergedDictionaries.Add(new ResourceDictionary() { Source = new Uri(@"D:\foo\trunk\bin\resources\leaf_styles.xaml", UriKind.Absolute) });
标签: c# .net wpf xaml resourcedictionary