资源文件通常是您的应用程序使用的任意非可执行的数据文件,如图像、音频和视频文件。资源文件在某些上下文中还可能具有特定的含义。例如,在应用程序本地化的上下文中,资源文件指代 .resx 文件,您可以在本地化的附属程序集中部署这些文件。
使用 Silverlight,您可以通过以下方式部署资源文件:
-
作为应用程序包中的单个文件。
-
作为按需检索的单个文件。
-
作为嵌入应用程序包的程序集中的文件。
-
作为嵌入外部库包的程序集中的文件。
-
作为程序集中嵌入的按需检索的文件。
一般通过统一资源标识符 (URI) 在代码或 XAML 中引用资源文件。所需的 URI 格式取决于部署文件的方式。您还可以选择指定相对或绝对 URI。
本主题介绍如何配置资源文件的部署位置并通过 URI 来引用资源文件。有关应用程序打包以及如何组织应用程序的结构以获得最佳响应效果的信息,请参见应用程序结构。有关部署和本地化的信息,请参见部署和本地化。
配置资源文件
在 Visual Studio 中,可以将资源文件添加到 Silverlight 项目并通过设置其"生成操作"值来为部署配置这些资源文件。可以为 Silverlight 项目中的资源文件使用以下生成操作:
-
资源:此生成操作会将文件嵌入项目程序集。您可以将此选项用于应用程序和库项目,并且在应用程序包的内部或外部部署这些程序集。
-
内容:此生成操作会将文件包含到应用程序包中,而不嵌入项目程序集。将此选项用于包中多个程序集共享的资源文件。
-
无:此生成操作不会将文件包含到应用程序包或程序集中。将此选项用于要按需检索的资源文件。通常在与应用程序包所在服务器位置相同的地方部署按需文件。
警告:
Visual Studio 中的"属性"窗口提供了"生成操作"下拉列表中的几个其他值。但是,您只能将前面三个值用于 Silverlight 项目。特别要注意的是,Silverlight 嵌入资源必须始终使用"资源"生成操作,而非"嵌入的资源"生成操作,后者使用 Silverlight 无法识别的格式。
如果决定共享嵌入的资源文件或按需检索它,可以更改生成操作。在这种情况下,必须重新生成和重新部署您的应用程序。如果没有使用相对 URI,还必须在重新生成前更新您的 URI 引用。以下各节对 URI 格式选项进行了说明。
说明:
通过 URI 引用字体文件时,必须在程序集中嵌入该字体文件并将 URI 语法用于嵌入的文件。有关更多信息,请参见 FontFamily 类概述。作为替代方案,可以设置各种控件都具有的 FontSource 属性。有关更多信息,请参见文本和字体。
使用通过 .NET Framework 版本 1.1 编译的资源文件将导致 NotSupportedException(如果这些文件包含 Boolean、 Char、Byte 或 Stream 类型)。
绝对和相对 URI
Silverlight 支持绝对和相对 URI,并通过使用相对 URI 提供用于查找文件的回退机制。
绝对 URI 指定资源文件的确切位置,绕过回退机制。例如,"http://www.contoso.com/resources/OnDemand.png"表示指定域中资源文件夹中的一个文件。如果资源文件所在的域不是应用程序包的宿主域,必须指定绝对 URI。
相对 URI 指定相对于应用程序根或引用 XAML 的资源文件位置。
相对于应用程序根的 URI
具有前导斜杠的相对 URI 表示相对于应用程序根的位置,例如"/resources/image.png"。
应用程序根是应用程序包的根文件夹或服务器上应用程序包的位置。相对 URI 回退机制首先搜索应用程序包,然后搜索服务器。如果在前导斜杠后包括路径,则在这两个位置中搜索相同的文件夹层次结构。
相对于引用 XAML 的 URI
不具有前导斜杠的相对 URI 表示相对于引用 XAML 的位置。如果您在代码中使用相对 URI,则引用 XAML 是您的代码操作的 XAML。
如果引用 XAML 位于文件夹中,可以引用相对于该位置的其他文件夹中的文件。但是,不能在应用程序根上进行搜索,例如"../resources/image.png"。此 URI 搜索包含 XAML 的文件夹所在级别上的资源文件夹,假定该文件夹不是应用程序根。
如果从应用程序包加载引用 XAML 但是未找到引用的资源文件,则使用默认回退机制。应用程序包中引用 XAML 的路径用于在服务器上搜索。例如,考虑应用程序包中以下位置的 XAML 文件:/pages/xaml/MyPage.xaml。在这种情况下,回退机制将在服务器上的以下位置搜索"../resources/image.png":/pages/resources/image.png。
如果将引用 XAML 编译为程序集,则必须在该同一程序集中嵌入资源文件。在这种情况下,URI 回退机制由 ResourceManager 类提供。此回退机制使用语言和区域性设置来查找附属程序集中的资源文件。有关更多信息,请参见本地化基于 Silverlight 的应用程序。
指向其他程序集的 URI
还可以引用嵌入某程序集的资源文件,该程序集不是包含引用 XAML 的程序集。在这种情况下,URI 使用以下格式:"/assemblyShortName;component/resourceLocation,例如"/SilverlightLibraryAssembly;component/image.png"。请注意,需要使用前导斜杠和 component 关键字(后跟一个斜杠)。
对于其他嵌入的资源,此 URI 格式使用 ResourceManager 类提供的回退机制。
请参见
其他资源
资源概述
应用程序结构
应用程序服务
分享到:
相关推荐
两种方式实现多语言: 1、通过资源文件的绑定; 2、通过继承新的控件和字典;
Silverlight 统一了服务器、Web 和桌面的功能,统一了托管代码和动态语言、声明性编程和传统编程以及 Windows Presentation Foundation (WPF) 的功能。 Silverlight 的 .NET Framework 类库 Silverlight 入门 图形、...
Microsoft Silverlight 是一个跨浏览器、跨平台的 .NET Framework 实现,用于获得 Web 的媒体体验和丰富交互式应用程序。以下各节说明如何使用 Silverlight...脱机 Silverlight 文档(CHM 文件) Silverlight SDK 博客
silverlight本身没有与数据库交互的功能,因此可以通过本资源的service文件实现对oracle数据库的增删改查
XAP包(注:XAP文件是Silverlight 2应用程序编译打包后的一个文件,包括了Silverlight 2应用程序所需的一切文件,如程序集、资源文件等) 查看和导出XAP包内容; 查看和导出程序集和资源文件; 查看.NET类型和...
Silverlight4新特性 Silverlight 4 在商务应用、多媒体应用和跨浏览器应用的架构方面有很大提高,新的功能包括对... 这本书介绍了Silverlight4 的新功能,你可以从中找到学习材料,并且希望您写向其中添加一些新资源。
silverlight漂亮的上传控件源码 在网站根目录web.config里配置上传文件夹,注意:folder的value要写成windows资源管理器形式例如: upload\audio\chenxumi,而且是相对网站根目录而言。因为这里是分块上传的每块大小...
Silverlight SPY是一款共享软件,该软件可以自动获取XAP文件,帮你解析XAP中的文件,该软件和Reflector配合同样可以查看Silverlight项目源代码。同时,可以分解项目中的样式和UI,以及Isolated Storege展示给开发...
silverlight silverlight2 完美征程 pdf silverlight2 完美征程PDF 国内少有的Silverlight入门的好书,中文版 因为很难找到,而且自己的分也不多了,所以,就要一点资源分了。。文件太大,分了7卷。。
国外著名Silverlight网站相应的XAP文件,效果十分绚丽,可以用作参考素材。
NaturalDuration - 媒体文件的时长; Volume - 音量大小 Balance - 音量平衡 BufferingTime - 需要缓冲的时间的长度 CurrentState - 播放状态 IsMuted - 是否静音 Play() - 播放媒体 Pause() - 暂停媒体的播放 Stop...
silverlight silverlight2 完美征程 pdf silverlight2 完美征程PDF 国内少有的Silverlight入门的好书,中文版 因为很难找到,而且自己的分也不多了,所以,就要一点资源分了。。文件太大,分了7卷。。
XAML = html,XAML(资源文件) = CSS,C#(Ruby or Python even JS) = JS。 可见,你依然可以像开发web一样开发Silverlight应用只要大脑思路一转。 Silverlight 最终还是要放置在网站之上(我们首先不考虑Out of ...
Silverlight 2014 Q1 Dev破解版。直接使用,无任何副作用。强大的Silverlight组件。没法上传大文件,demo示例请从另外的资源下载。
Asp.net Ajax与Silverlight实战手册完整实例。资源有限先到先得,非常实用噢!本期发布1-3章源码及数据库,敬请关注后续上传的文件。
就是网络资源共享。 说明:使用VS2008+SQL2005+SL2.0TOOLS开发,目录文件夹data 里面有.SQL文件可以直接创建数据库,将web.config里的pwd=123改成你的就行 滑盖按钮在手机最上方一个白色小方点, 使用linq加wcf...
XAP包(注:XAP文件是Silverlight 2应用程序编译打包后的一个文件,包括了Silverlight 2应用程序所需的一切文件,如程序集、资源文件等) 查看和导出XAP包内容; 查看和导出程序集和资源文件; 查看.NET类型和...
此项目会根据您的 Windows Phone 8 项目中的资源文件 (.resx) 自动生成 AppResLib.dll 和 .mui 文件。 它将从您的 .resx 文件中提取 3 个字符串: 100 来自 ApplicationDisplayName 101 来自应用程序描述 102 来自...
在网上看到的FloatableWindow组建,这里不是只有DLL,是包括原项目文件的,把他们都加到自己新建的一个项目里实验了一下,因为不是自己的资源,所以这里就不设置分数了。
1:在项目中新建文件夹“Resouce”,然后再该文件夹下面新增资源文件“AppString.resx”,如果创建一个AppString.resx副本,把文件名改为对应的语言名称, 如AppString.en-US.resx。,并且把AppString.resx的访问...