WEB开发网
开发学院WEB开发ASP.NET WPF学习笔记7. Resource 阅读

WPF学习笔记7. Resource

 2010-10-11 16:19:14 来源:本站整理   
核心提示:1. 二进制资源WPF 支持三种方式的二进制资源,这些资源可以非常方便地在 XAML 中使用,WPF学习笔记7. Resource,Resource: 将资源嵌入程序集中,和 Embedded Resource 有点像,不能省略 "/AssemblyReference" 前面的反斜杠,Compone

1. 二进制资源WPF 支持三种方式的二进制资源,这些资源可以非常方便地在 XAML 中使用。

Resource: 将资源嵌入程序集中,和 Embedded Resource 有点像。区别在于 WPF 将相关资源打包到 .Resources 文件,然后再由编译器嵌入到程序集文件中。WPF 默认的 URI 访问方式是不支持 Embedded Resource 的。

Content: 资源不会嵌入到程序集,仅仅在程序集清单中添加一条记录,这和以往我们所熟悉的方式一样。资源文件必须随其他程序集文件一起部署到目标目录。

Loose File: 这类资源通常是运行期动态确定或加入的。

WPF 通过统一资源标识符(URI)访问相关资源文件。

(1) 访问 Resource / Content 资源

<Image Source="/a.png" />
<Image Source="/xxx/x.png" />

(2) 访问松散资源文件(Loose File)

<Image Source="pack://siteOfOrigin:,,,/a.png" />
<Image Source="c:\test\a.png" />

XAML 编译时需要验证所有资源有效性,因此在使用松散资源文件时必须使用有效的 URI 路径。 "pack://" 表示 Package URI,"pack://siteOfOrigin:,,," 表示从部署位置开始,相应的还有 "pack://application:,,," 上面的 Resource 资源全路径应该是 "pack://application:,,,/a.png",只不过通常情况下我们使用省略写法而已。

<Image Source="pack://application:,,,/a.png" />

其他的 URI 写法还包括:

<Image Source="/tech/UploadPic/2010-10/2010101116192988.gif" />
<Image Source="\\server1\share\logo.gif" />
<Image Source="file://c:/test/logo.gif" />

(3) 访问其他程序集中的资源文件

提供一个可替换的专用资源 DLL 也是一种常用编程手法,尤其是多语言或者换肤机制。WPF 访问其他程序集资源文件的语法有点古怪。

pack://application:,,,/AssemblyReference;Component/ResourceName

其他程序集的资源必须以 Resource 方式嵌入。

不能省略 "/AssemblyReference" 前面的反斜杠。

Component 是关键字,必须包含在 URI 中。

<Image Source="pack://application:,,,/Learn.Library;component/s.gif" />
<Image Source="/Learn.Library;component/s.gif" />

1 2 3 4  下一页

Tags:WPF 学习 笔记

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接