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

Pack URI

在 Windows Presentation Foundation (WPF) 中,使用统一资源标识符 (URI) 标识和加载文件的方式有很多,包括:
1.指定当应用程序第一次启动时显示的用户界面 (UI)
2.加载图像
3.导航到页
4.加载不可执行的数据文件
此外,可以使用 URI 标识和加载位于各种位置的文件,这些位置包括:
1.当前程序集
2.所引用的程序集
3.相对于程序集的某个位置
4.应用程序的源站点
为了提供从这些位置标识和加载上述类型的文件的一致机制,WPF 利用了 pack URI 方案的扩展性。 本主题将概述这一方案,介绍如何为各种方案构造 pack URI,讨论绝对和相对 URI 以及 URI 解析,然后说明如何在标记和代码中使用 pack URI

Pack URI 方案使用“pack”作为它的方案,并且包含两个组件:授权和路径。 以下是 pack URI 的格式
pack://授权/路径
授权 指定包含部件的程序包的类型,而路径 则指定部件在程序包中的位置

绝对与相对 Pack URI

完全限定 pack URI 包括方案、授权和路径,它被视为绝对 pack URI
作为一种针对开发人员的简化形式,XAML 元素通常允许您使用只包含路径的相对 pack URI 来设置相应的特性

例子

假设本地程序集中的某个资源文件具有以下绝对 pack URI
pack://application:,,,/ResourceFile.xaml
引用此资源文件的相对 pack URI 如下所示
/ResourceFile.xaml

参考资料:
https://docs.microsoft.com/zh-cn/dotnet/framework/wpf/app-development/pack-uris-in-wpf?WT.mc_id=DT-MVP-5003010#Absolute_vs_Relative_Pack_URIs

原文地址:https://www.cnblogs.com/Lulus/p/8151391.html