首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何以编程方式构造pack: URI来引用不同程序集中的资源?

以编程方式构造pack: URI来引用不同程序集中的资源,可以通过以下步骤实现:

  1. 构造pack: URI的基本格式为:pack://application:,,,/AssemblyName;component/ResourcePath。其中,AssemblyName表示程序集的名称,ResourcePath表示资源的路径。
  2. 首先,确定要引用资源的程序集名称和资源路径。程序集名称是指包含资源的程序集的名称,资源路径是指资源在程序集中的相对路径。
  3. 在代码中,使用System.Uri类来构造pack: URI。可以通过Uri构造函数传入pack: URI的完整字符串,或者使用UriBuilder类来逐步构建URI。
  4. 以下是一个示例代码,演示如何以编程方式构造pack: URI来引用不同程序集中的资源:
代码语言:txt
复制
string assemblyName = "MyAssembly";
string resourcePath = "/Resources/MyImage.png";

UriBuilder uriBuilder = new UriBuilder();
uriBuilder.Scheme = "pack";
uriBuilder.Host = "application";
uriBuilder.Path = $",,,/{assemblyName};component{resourcePath}";

Uri resourceUri = uriBuilder.Uri;

在上述示例中,我们构造了一个pack: URI,引用了名为"MyImage.png"的资源,该资源位于名为"MyAssembly"的程序集的"/Resources"路径下。

  1. 对于不同类型的资源,可以根据需要调整资源路径。例如,对于XAML文件,资源路径应该是XAML文件的相对路径;对于图像文件,资源路径应该是图像文件的相对路径。
  2. 在使用pack: URI引用资源时,可以将其传递给适当的API,例如WPF的Image控件的Source属性,以加载和显示资源。

总结起来,以编程方式构造pack: URI来引用不同程序集中的资源,需要确定程序集名称和资源路径,并使用Uri类或UriBuilder类构造pack: URI。通过使用正确的资源路径和传递给适当的API,可以成功加载和使用资源。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

WPF备忘录(7)WPF图片资源路径介绍

将Content.jpg图片拷贝至应用程序Debug目录中,ImgContent控件可显示图片。      生成操作设置为Resource,生成时候资源将添加到程序集中。...与直接把资源放置在程序运行目录不同是,添加Content资源文件,会向程序集(AssemblyAssociatedContentFile)中添加一个定制特性,该程序集记录文件是否存在及其相对位置。...可见在改变Content资源时候,程序集中定制特性没有做相应变化。       删除XAML中Source属性,在后台为两个图片控件设置Source属性。有如下三种方式。  ...第三种方式可以访问网站运行目录下Content资源文件以及完全松散文件。完全松散文件指那些没有添加到项目中,只是拷贝在程序目录中文件。应用程序根本不知道它存在。      ...它是pack://application:,,,/DllName;Component/Content.jpg简写。将DllName替换成其他程序集,就可以访问其他程序资源

1.2K50

深入浅出话资源

文件添加进项目并使用Source属性进行引用,你程序就立刻变光鲜照人。...1.3       向程序集中添加二进制资源 对于资源这个概念,对于WPF初学者会感到迷惑,因为早在WPF出现之前Window应用程序就已经能够携带资源了。...常见应用程序资源有图标、图片、文本、音频、视频等,各种编程语言编译器或者资源编译器都有能力把这些文件编译进目标文件(最终.exe文件或者.dll文件)。...1.4                使用PACK URI路径访问二进制资源 WPF对二进制资源访问有自己一套方法,称为PACK URI路径。有时候死记硬背能够让读者快速学习又能帮助作者偷点懒。...在使用pack uri路径时有以下几点需要注意: Pack URI使用是从右向左正斜线(/)表示路径。

1.8K20

WPF 使用 VisualStudio 2017 项目文件

假如在 项目文件 放一张图片,首先新建一个项目,然后随意找一张图片,放在项目上 注意需要查看图片属性,如果图片生成不是 Resources 那么在使用下面的代码还是找不到 最简单在 xaml 获取项目文件方式是直接写相对...:,,,/B;component/NearzooRasterCairralJeajismowwir.jpg"> 需要知道,程序集和项目的名字是可以不相同刚才 B 项目,实际上程序集和项目名字不相同...,请看下图 所以发现自己找不到资源,可能是项目名字和程序集不相同,需要右击查看程序集 如果引用了相同程序不同版本,就需要在路径写上版本,格式是pack://application:,,,/...var resourceStream = Application.GetResourceStream(new Uri("pack://application:,,,/lindexi;component/

43410

【愚公系列】2023年09月 WPF控件专题 Image控件详解

原生控件是由Microsoft提供内置控件,Button、TextBox、Label、ComboBox等。这些控件都是WPF中常见标准用户界面元素。...自定义控件则允许开发人员使用XAML和C#等编程语言创建个性化用户界面元素。自定义控件可以根据需求提供更多功能和自定义化选项,以及更好用户体验。...Image控件具备自适应大小能力,可以根据容器大小自动调整图像大小,从而更好地适应不同窗口布局。 显示图形资源。...// pack URI 方案 pack://授权/路径 //授权 指定包含部件程序类型,而路径 则指定部件在程序包中位置。...//siteoforigin 图片文件 生成:内容 application---资源、内容 //imgPic.Source = new BitmapImage(new Uri("pack

67800

设计规则

CA1014:用 CLSCompliantAttribute 标记程序集 公共语言规范 (CLS) 定义了程序集在跨编程语言使用时必须符合命名限制、数据类型和规则。...CA1016:用 AssemblyVersionAttribute 标记程序集 .NET 使用版本号唯一地标识程序集,并绑定到具有强名称程序集中类型。 版本号与版本和发行者策略一起使用。...CA1021:避免使用 out 参数 通过引用(使用 out 或 ref)传递类型要求具有使用指针经验,了解值类型和引用类型不同之处,以及能处理具有多个返回值方法。...CA1045:不要通过引用来传递类型 通过引用(使用 out 或 ref)传递类型要求具有使用指针经验,了解值类型和引用类型不同之处,以及能处理具有多个返回值方法。...由于调用静态成员不需要类型示例,因此没必要使用构造函数。 为安全起见,字符串重载应使用字符串自变量调用统一资源标识符 (URI) 重载。

2K20

框架设计原则和规范(二)

在包含公共类型程序集中使用CLSCompliant(true)修饰属性 表示符合CLS规范 1.10.2....在包含公共类型程序集中使用AssemblyVersionAttrubue修饰属性 1.10.3. 考虑在程序集版本号中使用格式 1.10.3.1....要把构造函数参数列表当作设置主要属性快捷方式 2.3.4. 要用相同名字命名构造函数参数和属性,如果定义该构造函数参数目的就是为了设置对应属性。...要把所有输出参数放在以值方式引用方式传递参数后面 2.8.5. 要在覆盖成员或者实现接口成员时保持参数命名一致 2.8.6. 枚举和布尔值选择 2.8.6.1....避免使用输出参数或引用参数 值类型和引用类型区别不容易被理解 2.8.8.2. 不要以引用方式传递引用类型 2.8.9. 参数数量可变成员(方法) 2.8.9.1.

1.4K50

细数Spring那些最常见面试问题

Spring 应用程序有哪些不同组件? 1.8. 使用 Spring 有哪些方式? 2. 依赖注入(Ioc) 2.1. 什么是 Spring IOC 容器? 2.2. 什么是依赖注入? 2.3....Spring 面向切面编程(AOP) - 提供面向切面编程功能。 Bean 配置文件 - 包含类信息以及如何配置它们。 用户程序 - 它使用接口。 1.8. 使用 Spring 有哪些方式?...更多spring内容,可以看这里:Spring内容合集 自动装配不同模式: no - 这是默认设置,表示没有自动装配。应使用显式 bean 引用进行装配。...MVC 模式有助于分离应用程序不同方面,输入逻辑,业务逻辑和 UI 逻辑,同时在所有这些元素之间提供松散耦合。 7.2....DispatcherServlet 根据 -servlet.xml 中配置对请求 URL 进行解析,得到请求资源标识符(URI)。

68440

Spring常见面试题

Spring 面向切面编程(AOP) - 提供面向切面编程功能。 Bean 配置文件 - 包含类信息以及如何配置它们。 用户程序 - 它使用接口。 使用 Spring 有哪些方式?...通常,依赖注入可以通过三种方式完成,即: 构造函数注入 setter 注入 接口注入 在 Spring Framework 中,仅使用构造函数和 setter 注入。...支持事务管理类型 Spring 支持两种类型事务管理: 程序化事务管理:在此过程中,在编程帮助下管理事务。...MVC 模式有助于分离应用程序不同方面,输入逻辑,业务逻辑和 UI 逻辑,同时在所有这些元素之间提供松散耦合。...DispatcherServlet 根据 -servlet.xml 中配置对请求 URL 进行解析,得到请求资源标识符(URI)。

51610

49个Spring经典面试题总结,附带答案,赶紧收藏

Spring 面向切面编程(AOP) - 提供面向切面编程功能。 Bean 配置文件 - 包含类信息以及如何配置它们。 用户程序 - 它使用接口。 1.8. 使用 Spring 有哪些方式?...通常,依赖注入可以通过三种方式完成,即: 构造函数注入 setter 注入 接口注入 在 Spring Framework 中,仅使用构造函数和 setter 注入。 2.4....@RequestMapping - 用于在控制器处理程序方法中配置 URI 映射。...MVC 模式有助于分离应用程序不同方面,输入逻辑,业务逻辑和 UI 逻辑,同时在所有这些元素之间提供松散耦合。 7.2....DispatcherServlet 根据 -servlet.xml 中配置对请求 URL 进行解析,得到请求资源标识符(URI)。

51840

标记扩展(Markup Extension)

XAMl定义标记扩展 特定于 WPF 标记扩展。 XAML定义标记扩展 XAML定义标记扩展在System.Xaml程序集中,位于XAML命名空间内,并非WPF特定实现。...主要有以下几种: x:Static 用于引用以符合公共语言规范 (CLS) 方式定义任何静态按值代码实体。 可使用引用静态属性在 XAML 中提供属性值。...动态资源引用强制在每次访问此类资源时都进行新查找。该标记扩展引用资源则对声明位置没有太多要求,因为它在运行时候采取查找资源。...ColorConvertedBitmap 提供方法指定没有嵌入配置文件位图源。 颜色上下文/配置文件由 URI 指定,与图像源 URI 一样。.... /> ComponentResourceKey 定义和引用从外部程序集加载资源键。 这使资源查找能够在程序集中指定目标类型,而不是在程序集中或类上指定显式资源字典。

38230

大规模数据集成: Linked Data

因此,要表明一本(学术)图书是由一位特定研究人员为一个已知主题编写,不仅涉及到这 3 个不同标识符,还涉及到 3 种不同模式!拥有一种标准模式引用所有这些事物,显然非常有意义。...RDF 图表中截点和链接标识符都属于此情况。 第二,即使任何 URI 感知系统可在外部数据集中使用一个 URI 标识符引用,该系统用户也可能不认识该标识符。...” 因为第一条原则不需要使用标准标识符(仅标准标识符模式),所以同一个事物在不同数据集中肯定具有多个名称。此问题可通过许多方式解决,但我不会花时间深入介绍。...这些 URI 都是资源引用,每个资源使用从 Wikipedia 提取 RDF 描述。您单击时看到是 RDF 数据 HTML 渲染结果,而不是该资源网页。...仅更改类名会导致结果现在反映了与欧洲大陆各国首都关联外部网页! 如果我更改我所查找与按这种方式分类资源相链接关系,我可以询问另一个完全不同问题。

4.4K91

Nebula3学习笔记(5): IO系统

这保证了所有的Nebula3文本输出都通过一个集中进出通道. 特定控制台处理器可以用特定方式处理文本输出(例如输出到stdout, 游戏控制台, 日志文件或网络连接)....Nebula3会自动创建一个本地目录避免不同程序覆写掉它们数据. 所以说一般情况下把数据写入用户目录是安全. 这个地方可以用于保存游戏数据和配置, 或者程序需要调用持久性数据....这个目录应该也当成是只读对待. 其它重定向符可以在程序运行时进行定义. 通常情况下会定义一些抽象资源路径, textuers, sound, data等等....URI(统一资源定位符) 在Nebula3中资源位置通常都是用URI定义. URI一般包括下面这几部, 有一些是可选: 模式(协议?), "http:", "file:", 等......Stream对象用一个IO::URI对象定义它们资源位置. 通常情况下, 一个URI格式映射到一个特定流对象.

68040

Nginx中location、rewrite使用方法

一、location用法总结 location可以把不同方式请求,定位到不同处理方式上. 1.location用法 location ~* /js/.*/\.js 以 = 开头,表示精确匹配;只匹配根目录结尾请求...主要区别在于rewrite是在同一域名内更改获取资源路径,而location是对一类路径做控制访问或反向代理,可以proxy_pass到其他机器。... : 匹配单个字符c [a-z] : 匹配a-z小写字母任意一个 小括号()之间匹配内容,可以在后面通过$1引用,$2表示是前面第二个()里内容。...$server_port : 请求到达服务器端口号。 $request_uri : 包含请求参数原始URI,不包含主机名,:”/foo/bar.php?arg=baz”。...$uri : 不带请求参数的当前URI,$uri不包含主机名,”/foo/bar.html”。 $document_uri : 与$uri相同。

1.1K20

C++面试题

unique_ptr 实现独占式拥有或严格拥有的智能指针,通过禁用拷贝构造和赋值方式保证同一时间内只有一个智能指针可以指向该对象;shared_ptr增加了引用计数,每次有新shared_ptr指向同一个资源时计数会增加...,当计数为0时自动释放资源构造weak_ptr指针不会增加shared_ptr引用计数,是用来解决shared_ptr循环引用问题。...RAII技术核心是获取完资源就马上交给资源管理。标准库中智能指针和锁便是比较常用RAII工具。RAII类需要慎重考虑资源拷贝合理性。 9. 右值引用有什么作用?...C++11标准中{}初始化方式是对聚合类型初始化,是以拷贝形式赋值。 C++面向对象 1....内存分配方式有几种? 1) 从全局存储区域分配:这时内存在程序编译阶段就已经分配好,该内存在程序运行整个周期都有效,:全局变量、static静态变量。

1.7K42

使用C#也能网页抓取

ScrapySharp为C#编程添加了更多功能。这个包支持CSS选择器并且可以模拟网络浏览器。虽然ScrapySharp被认为是一个强大C#包,但程序员使用它进行维护概率并不是很高。...请注意,如果您使用Visual Studio和Visual Studio Code编写C#代码,则需要注意它们是两个完全不同应用程序。...我们使用此构造函数来获取Uri具有绝对URL对象。 dotnet --version 一旦我们有了Uri对象,我们就可以简单地检查该AbsoluteUri属性以获取完整URL。...为了确保所有资源都正确关闭,我们可以使用using块。...如果您想了解更多有关使用其他编程语言进行网络抓取工作原理,可以查看使用Python进行网络抓取指南。

6.4K30
领券