WPF 中资源路径的问题

原文:WPF 中资源路径的问题

 WPF 中资源路径的问题

1. 引用当前工程的资源(注意xxxx.png的build action 应设置为Resource 或Embedded Resource)

[csharp] view plaincopy
  1. <ImageBrush ImageSource="/currentAssemblyName;component/subfoldername/xxxx.png"/>  

 

2.  引用其它工程的资源  (注意xxxx.png的build action 应设置为Resource 或Embedded Resource)

[html] view plaincopy
  1. <ImageBrush ImageSource="pack://application:,,,/otherAssemblyName;component/subfolder/xxx.png"/>  

 

3. 引用相对路径下的资源(注意最好将xxx.png 的copy to output directory属性设置成 always copy )

[html] view plaincopy
  1. <ImageBrush ImageSource="pack://siteoforigin:,,,./subfolder/xxx.png "/>  

 

4. 引用绝对路径下的资源 

[html] view plaincopy
  1. <ImageBrush ImageSource="C:\test\xxx.png"/>  

 

5. 当在使用pack 前缀的路径时,如果出现如下错误:System.UriFormatException: Invalid URI: Invalid port specified, 而你使用的pack路径又确实没有错误。这是因为pack:// scheme 没有注册,解决方案有两个:

a.       实例化一个System.Windows.Application, 在实例化过程中会调用PackUriHelper class

[csharp] view plaincopy
  1. if (!UriParser.IsKnownScheme("pack"))   
  2. {  
  3.         new System.Windows.Application();   
  4. }  

 

b.      调用一次System.IO.Packaging.PackUriHelper.UriSchemePack    

[csharp] view plaincopy
  1. string s = System.IO.Packaging.PackUriHelper.UriSchemePack;  
上一篇:CentOS 8 防火墙相关命令


下一篇:win10更新目录