踩坑笔记

引用方式 :内容

BuildAction : [Content] 内容
复制到输出目录:[复制] / [较新则复制]

使用

var uri = new Uri(new FileInfo("Resources\\Transition_SlideInEffect.ps").FullName);

引用方式 : 嵌入到程序集

BuildAction : [Resource]
复制到输出目录:[不复制]

使用

var uri = new Uri("pack://application:,,,/程序集名称;component/Resources/Transition_SlideInEffect.ps");


踩坑的地方在于:
本来是同一程序集内引用,uri 应该不需要指定程序集名称,但这里不指定会出错。原因:因为调用方是其它程序集?(猜的)
uri 里面把程序集名称补上就OK了。
另外,程序集名称不一定是工程项目的名称,出错记得检查;


PS: 资源文件放在 Resources 文件夹下,所有路径中会有 Resources


  • 参考资料:WPF编程宝典-Application类-程序集资源