[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-13 02:01:13

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

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

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

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

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

java Semaphore信号亮-同意多个任务同一时候訪问这个资源--thinking in java21.7.6

package org.rui.thread.newc.semaphore; import java.util.ArrayList; import java.util.List; import java.util.concurrent.Semaphore; /** * 同意N个任务同一时候訪问这个资源 * @author lenovo * * @param <T> */ public class Pool<T> { private int size; private List<

WPF中的Pack URI

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

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

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

Android开发之使用URL訪问网络资源

URL (UniformResource Locator)对象代表统一资源定位器,它是指向互联网"资源"的指针. 资源能够是简单的文件或文件夹,也能够是对更复杂的对象的引用.比如对数据库或搜索引擎的查询. 通常情况而言,URL能够由协议名.主机.port和资源组成.即满足例如以下格式: protocol://host:port/resourceName URL类提供了多个构造方法用于创建URL对象,一旦获得了 URL对象之后.能够调用例如以下经常用法来訪问该URL相应的资源: 1) S

Spring MVC学习-------------訪问到静态的文件

怎样訪问到静态的文件,如jpg,js,css? 怎样你的DispatcherServlet拦截"*.do"这种有后缀的URL.就不存在訪问不到静态资源的问题. 假设你的DispatcherServlet拦截"/".为了实现REST风格,拦截了全部的请求.那么同一时候对*.js,*.jpg等静态文件的訪问也就被拦截了. 我们要解决问题. 目的:能够正常訪问静态文件.不能够找不到静态文件报404. 方案一:激活Tomcat的defaultServlet来处理静态文件 X

[WF4.0 实战] AutoResetEvent具体解释(线程独占訪问资源)

由来: 在学习工作流的过程中,宿主程序中会出现这么一段代码: staticAutoResetEvent instanceUnloaded = new AutoResetEvent(false); 然后就是在方法中这样使用: instanceUnloaded.Set();//将事件状态设置为终止状态.同意一个或多个等待线程继续 instanceUnloaded.WaitOne();//对于WaitOne方法为阻止当前线程,直到收到信号! 对于这部分内容当时不是非常理解,以下我们先介绍一下AutoR

Phalcon 訪问控制列表 ACL(Access Control Lists ACL)

Phalcon在权限方面通过 Phalcon\Acl 提供了一个轻量级的 ACL(訪问控制列表). Access Control Lists (ACL) 同意系统对用户的訪问权限进行控制,比方同意訪问某些资源而不同意訪问其他资源等. 这里我们建议开发人员了解一些关于ACL的技术. ACL有两部分组成即角色和资源. 资源即是ACL定义的权限所依附的对象. 角色即是ACL所字义的请求者的身份,ACL决定了角色对资源的訪问权限.同意訪问或拒绝訪问. 创建 ACL(Creating an ACL)? 这