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的更多相关文章

  1. WPF中的Pack URI

    更多资源:http://denghejun.github.io 问题 说来也简单:首先,我在WPF项目中建立了一个用户自定义控件(CustomControl),VS模板为我们自动生成了 CustomC ...

  2. 转:pack URI in WPF

    一开始看到WPF里面经常用如下语句来构造资源文件Uri: Uri uri = new Uri("/AssemblyName;component/image.png"); 我还以为这 ...

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

    参考资源网http://msdn.microsoft.com/zh-cn/library/aa970069.aspx#Absolute_vs_Relative_Pack_URIs 在 Windows ...

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

    Pack URI 在 Windows Presentation Foundation (WPF) 中,使用统一资源标识符 (URI) 标识和加载文件的方式有很多,包括:1.指定当应用程序第一次启动时显 ...

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

    一.路径格式定义 完整的URI定义为: pack://application,,,[/可选程序集名称;][可选版本;][目录名称/]文件名 缩略后的写法是: [目录名称/]文件名 二.在XAML代码中 ...

  6. 【转】【WPF】资源读取 URI

    一开始看到WPF里面经常用如下语句来构造资源文件Uri: Uri uri = new Uri("/AssemblyName;component/image.png"); 我还以为这 ...

  7. wpfのuri(让你完全明白wpf的图片加载方式以及URI写法)

    绝对 pack WPF URI pack://application:,,,/是协议:“,,,”是“///”的变体 1.资源文件 — 本地程序集 Uri uri = new Uri("pac ...

  8. WPF中的URI

    在 Windows Presentation Foundation (WPF) 中,使用统一资源标识符 (URI) 标识和加载文件的方式有很多,包括: 指定当应用程序第一次启动时显示的用户界面 (UI ...

  9. WPF之命名空间和资源

    1.参考: https://msdn.microsoft.com/zh-cn/library/ms747086(v=vs.110).aspx http://www.cnblogs.com/cww201 ...

随机推荐

  1. Google Analytics 学习笔记二 —— GA部署

    一.直接部署 直接复制GA跟踪代码 放到所有页面 跟踪代码放到 "head"前面 二.GTM部署方法一 三.GTM部署方法二 Tacking ID 四.测试.参数配置与调优

  2. Django 练习班级管理系统三 -- 分页

    在 user_manager 项目下创建一个 python package:utils,里面创建一个 page.py 文件 page.py 文件内容为: # 创建一个 PagerHelper 类 cl ...

  3. odoo10学习笔记十:Actions

    转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/11189319.html actions定义了系统对于用户的操作的响应:登录.按钮.选择项目等. 一:窗口ac ...

  4. Odoo 启动选项总结

    转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/11189209.html 一:启动选项用在哪里 如果你是用Pycharm进行odoo二次开发的话,可以通过 R ...

  5. C++编译错误 --- 成员函数定义在 .h 文件中出现重定义错误(Error LNK 2005)

    今天写了一个简单的类,定义在 .h 文件中, 类很简单就将其成员函数定义在了一起(class类后面).运行的时候出现了如下图所示的编译错误(error LNK2005) 查资料,大部分都是说需要加上 ...

  6. fd (int)读写文件

    #include <string.h> #include <stdio.h> #include <fcntl.h> int main() { char *p1 = ...

  7. MySQL中建立Oracle中SCOTT数据示例

    1.创建 scott 数据库 CREATE DATABASE scott; 2.创建 scott 数据库中的 dept 表 CREATE TABLE dept( deptno INT UNSIGNED ...

  8. i++和++1

    概述:i++和++i 这个问题困扰了我很长时间,在这段时间里自己不止一次的怀疑自己的智商,难道自己对编程一点天赋都没有吗?此问题严重打击了我的自信心.......也曾苦苦暗自琢磨,也曾百度谷歌疯狂搜索 ...

  9. 20180711模拟赛T3——聚变

    文件名: fusion 题目类型: 传统题 时间限制: 3秒 内存限制: 256MB 编译优化: 无 题目描述 知名科学家小A在2118年在计算机上实现了模拟聚变的过程. 我们将她研究的过程简化. 核 ...

  10. golang 登录

    用户的两种登录模式 1.LDAP登录 //ldapLogin 通过LDAP登陆 func (m *Member) ldapLogin(account string, password string) ...