pack URI
WPF使用pack URI语法寻找资源。
URI负责搜索如下位置的资源:
- 当前程序集
- 引用的程序集
- 相对于程序集的某个位置
- 应用程序的源站点
pack URI的格式:pack://机构/路径
- 机构指定了包含部件的包类型
- 路径是指部件在包中的位置
包和部件的关系类似应用程序与文件之间的关系,包可以包含多个部件:
- 编译到本程序集内的资源文件
- 编译到所引用程序集的资源文件
- 内容文件
- 源站点文件
MSDN上面给出了图例,告诉我们application:///权限和siteoforigin:///权限的关系:

下面分别介绍引用资源文件的语法。
1、使用pack URI引用本地程序集资源文件:
- 授权:application:///
- 路径:资源文件的名称--包括相对于本地程序集项目文件夹根目录的路径。
举个例子:
- 引用本地程序集根目录中的XAML文件
pack://application:,,,/Resource.xaml
- 引用的资源文件位于本地程序集项目的子文件夹(subfolder)中
pack://application:,,,/subfolder/Resource.xaml
2、引用的程序集资源文件(注意:引用程序集资源的包语法只能是application:///机构)
- 授权:application:///
- 路径:编译到所引用的程序集中的资源文件的名称。
路径须符合以下格式:
- 程序集段名称
- 程序集版本[可选]
- 公钥[可选]
- 组件
- 路径:资源文件的名称
举个例子:
- 资源文件位于引用程序集项目文件夹的根目录中
pack://application:,,,/ReferenceAssembly;component/Resource.xaml
- 资源文件位于引用程序集项目文件夹的子文件夹中
pack://applicaiton:,,,/ReferenceAssembly;component/Subfolfer/Resource.xaml
- 资源文件位于特定版本的引用程序集项目文件夹的根目录中
pack://application:,,,/ReferenceAssembly;v1.0.0;component/Resource.xaml
3、内容文件URI的pack使用
- 授权:application:///
- 路径:内容文件的名称,包括文件夹的位置
举个例子:
- 内容文件与可执行程序集位于同一文件夹中
pack://application:,,,/ContentFile.xaml
- 内容文件位于可执行程序集的子文件中
pack://applicaiton:,,,/Subfolder/Content.xaml
4、绝对包URI和相对包URI
- 标签中使用绝对pack URI:

- 标签中使用相对pack URI

- 代码中使用绝对pack URI

- 代码中使用相对pack URI

pack URI的更多相关文章
- WPF中的Pack URI
更多资源:http://denghejun.github.io 问题 说来也简单:首先,我在WPF项目中建立了一个用户自定义控件(CustomControl),VS模板为我们自动生成了 CustomC ...
- 转:pack URI in WPF
一开始看到WPF里面经常用如下语句来构造资源文件Uri: Uri uri = new Uri("/AssemblyName;component/image.png"); 我还以为这 ...
- WPF 中的 Pack URI地(资源文件加载)
参考资源网http://msdn.microsoft.com/zh-cn/library/aa970069.aspx#Absolute_vs_Relative_Pack_URIs 在 Windows ...
- 资源文件加载(Pack URI 方案)
Pack URI 在 Windows Presentation Foundation (WPF) 中,使用统一资源标识符 (URI) 标识和加载文件的方式有很多,包括:1.指定当应用程序第一次启动时显 ...
- [WPF]使用Pack URI路径訪问二进制资源
一.路径格式定义 完整的URI定义为: pack://application,,,[/可选程序集名称;][可选版本;][目录名称/]文件名 缩略后的写法是: [目录名称/]文件名 二.在XAML代码中 ...
- 【转】【WPF】资源读取 URI
一开始看到WPF里面经常用如下语句来构造资源文件Uri: Uri uri = new Uri("/AssemblyName;component/image.png"); 我还以为这 ...
- wpfのuri(让你完全明白wpf的图片加载方式以及URI写法)
绝对 pack WPF URI pack://application:,,,/是协议:“,,,”是“///”的变体 1.资源文件 — 本地程序集 Uri uri = new Uri("pac ...
- WPF中的URI
在 Windows Presentation Foundation (WPF) 中,使用统一资源标识符 (URI) 标识和加载文件的方式有很多,包括: 指定当应用程序第一次启动时显示的用户界面 (UI ...
- WPF之命名空间和资源
1.参考: https://msdn.microsoft.com/zh-cn/library/ms747086(v=vs.110).aspx http://www.cnblogs.com/cww201 ...
随机推荐
- Native层和so接口和Java层
一.Java层加载so文件 Android在Java层加载so的接口是System.loadLibrary()逐级调用的过程: System.loadLibrary()系统源码: 987 pub ...
- jmeter连接并使用mysql数据
一.下载数据库驱动,放至D:\apache-jmeter-2.13\lib\ext目录下 二.打开jmeter,右键添加->配置文件->JDBC Connection Configurat ...
- liteos软件定时器(十)
1 概述 1.1 基本概念 软件定时器,是基于系统Tick时钟中断且由软件来模拟的定时器,当经过设定的Tick时钟计数值后会触发用户定义的回调函数.定时精度与系统Tick时钟的周期有关. 硬件定时器受 ...
- 201871010105-曹玉中《面向对象程序设计(java)》第十四周学习总结
201871010105-曹玉中<面向对象程序设计(java)>第十四周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ ...
- 201871010134-周英杰《面向对象程序设计(java)》第十三周学习总结
201871010134-周英杰<面向对象程序设计(java)>第十三周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ ...
- Maven 中 dependencyManagement 元素,知识点
Maven 提供的 dependencyManagement 元素既能让子模块继承到父模块的依赖配置,又能保证子模块依赖使用的灵活性.在 dependencyManagement 元素下的依赖声明不会 ...
- 莫烦TensorFlow_04 placeholder
import tensorflow as tf input1 = tf.placeholder(tf.float32) input2 = tf.placeholder(tf.float32) outp ...
- Kubernetes 记一次网络请求分析
查看pod,server root @ master ➜ ~ kubectl get po,svc -n irm-server -o wide NAME READY STATUS RESTARTS A ...
- Linux下的SVN服务器搭建(八)
1. 通过yum命令安装svnserve yum -y install subversion #查看svn安装位置 rpm -ql subversion 2. 创建版本库目录(此仅为目录,为后面创建版 ...
- idea中怎么忽略(ignore)掉 .idea等文件
idea需要下载一个专门的plugins 来ignore .idea *.iml等文件 可以在https://plugins.jetbrains.com/idea/plugin/7495–ignore ...