[WPF]使用Pack URI路径访问二进制资源

一、路径格式定义

完整的URI定义为:

pack://application,,,[/可选程序集名称;][可选版本号;][文件夹名称/]文件名称

缩略后的写法是:

[文件夹名称/]文件名称

二、在XAML代码中使用URI路径

完整路径的使用:

<Image x:Name="ImageBg" Source="pack://application:,,,/Resources/Images/Hydrangeas.jpg" Stretch="Fill" />

相对路径的使用:

<Image x:Name="ImageBg" Source="Resources/Images/Hydrangeas.jpg" Stretch="Fill" />

三、后台代码中的使用

// 相对路径。
Uri imageUri = new Uri(@"Resources/Images/Hydrangeas.jpg", UriKind.Relative);
this.ImageBg.Source = new BitmapImage(imageUri);

// 绝对路径。
Uri imageUri = new Uri(@"pack://application:,,,/Resources/Images/Hydrangeas.jpg", UriKind.Absolute);
this.ImageBg.Source = new BitmapImage(imageUri);

四、注意事项

1、路径使用从右向左的正斜线(/)表示;

2、在C#代码中使用相对路径则需要将UriKind必须为Relative,而且代表根目录的/可以省略。

3、在C#代码中完整写法代表绝对路径,UriKind必须为Absolute,而且代表根目录的/不可以省略。

4、路径可以使用类似于DOS的语法。

时间: 2024-10-12 13:06:58

[WPF]使用Pack URI路径访问二进制资源的相关文章

[WPF]使用Pack URI路径訪问二进制资源

一.路径格式定义 完整的URI定义为: pack://application,,,[/可选程序集名称;][可选版本;][目录名称/]文件名 缩略后的写法是: [目录名称/]文件名 二.在XAML代码中使用URI路径 完整路径的使用: <Image x:Name="ImageBg" Source="pack://application:,,,/Resources/Images/Hydrangeas.jpg" Stretch="Fill" /&

No mapping found for HTTP request with URI *(Spring mvc采用注释方式生成uri路径访问不到问题)

@Controller @RequestMapping("/Person") public class PersonManagerService { private Logger log = LoggerFactory.getLogger(PersonManagerService.class); @Resource private PersonManager myPersonManager; public PersonManager getMyPersonManager() { ret

【WPF学习】第二十八章 程序集资源

原文:[WPF学习]第二十八章 程序集资源 WPF应用程序中的程序集资源与其他.NET应用程序中的程序集资源在本质上是相同的.基本概念是为项目添加文件,从而Visual studio可将其嵌入到编译过的应用程序的EXE或DLL文件中.WPF程序集资源与其他应用程序中的程序集资源之间的重要区别是引用他们的寻址系统不同. 在前面章节已讨论过程序集资源的工作原理.因为每次编译应用程序时,项目中的每个XAML文件都转换为解析效率更高的BAML文件.这些BAML文件作为独立资源嵌入到程序集中.添加自己的资

WPF 中的 Pack URI地(资源文件加载)

参考资源网http://msdn.microsoft.com/zh-cn/library/aa970069.aspx#Absolute_vs_Relative_Pack_URIs 在 Windows Presentation Foundation (WPF) 中,使用统一资源标识符 (URI) 标识和加载文件的方式有很多,包括: 指定当应用程序第一次启动时显示的用户界面 (UI). 加载图像. 导航到页 加载不可执行的数据文件. 此外,可以使用 URI 标识和加载位于各种位置的文件,这些位置包括

转:pack URI in WPF

一开始看到WPF里面经常用如下语句来构造资源文件Uri: Uri uri = new Uri("/AssemblyName;component/image.png"); 我还以为这种格式的字符串是URI标准规定的,但是网上查了一下却没发现有这种格式的URI字符串. URI是统一资源标识符,通用文法为: 协议名(http,https,ftp,file等)+冒号+协议所对应的内容 URI又分为URL和URN,URL是用来定义一个资源的访问路径.而URN则是用来定义一个资源的名称.(http

WPF中的Pack URI

说来也简单:首先,我在WPF项目中建立了一个用户自定义控件(CustomControl),VS模板为我们自动生成了 CustomControl1和Theme文件夹(里边包含一个Generic.xaml): 接着,我想把它移动到一个新的类库(DLL)里去: 然后我添加了对类库的引用在WPF项目中,我开始尝试使用该自定义控件,结果,发现显示的结果始终不对,但是也 没有报错.究其原因,肯定是xaml没有加载到,致使界面没有渲染模板.最后开始搜索MSDN,发现WPF应用程序外 部包引用一般使用pack:

资源文件加载(Pack URI 方案)

Pack URI 在 Windows Presentation Foundation (WPF) 中,使用统一资源标识符 (URI) 标识和加载文件的方式有很多,包括:1.指定当应用程序第一次启动时显示的用户界面 (UI)2.加载图像3.导航到页4.加载不可执行的数据文件此外,可以使用 URI 标识和加载位于各种位置的文件,这些位置包括:1.当前程序集2.所引用的程序集3.相对于程序集的某个位置4.应用程序的源站点为了提供从这些位置标识和加载上述类型的文件的一致机制,WPF 利用了 pack U

《Programming WPF》翻译 第6章 3.二进制资源

原文:<Programming WPF>翻译 第6章 3.二进制资源 尽管ResourceDictionary和系统级别的资源适合于作为数据存在于对象中,然而,并不是所有的资源都能很好的满足这个模型.能够处理二进制流通常是很有用的.例如,图像,声频和视频,都是有效地二进制的代表,但是这些资源在xaml内都没有相应的标签,而且毕竟这些对象通常表现为底层数据的包装.标记语言本身代表了一种挑战:xaml页面必须编译到我们的应用程序中.因此,需要一种处理二进制流的方法. WPF并未引进任何新技术处理二

用node.js express设置路径后 子路径下的页面访问静态资源路径出问题

在routes/news_mian.js 设置了访问news_main.html 的路径 '/',通知设置一个访问news-page.html的子路径'/newspage'子路径.但是在访问loaclhost:3000/news/newspage时静态资源路径前多了一个/news导致不能找到静态资源 app.js var express=require('express'); var app=express(); var path=require('path'); var http=requir