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

时间:2024-08-09 00:07:26

一、路径格式定义

完整的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的语法。