一、组成
1、资源URI总共包括4个部分(当前程序集可以省略前3个):
①:pack://application:,,,
②:/[程序集名称]
③:;Component
④:/[资源路径]
二、举例
项目结构如下图所示:
1、MainWindow.xaml 文件
<Windowx:Class="WpfApp1.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"Title="MainWindow"Width="800"Height="600"mc:Ignorable="d"><Window.Resources><Style TargetType="Image"><Setter Property="Width" Value="200" /></Style></Window.Resources><UniformGrid Columns="3"><!-- 绝对路径 --><Image Source="pack://application:,,,/WpfApp1;Component/Assets/monkey.png" /><!-- 相对路径 --><Image Source="/WpfApp1;Component/Assets/monkey.png" /><!-- 相对路径:当前程序集 --><Image Source="/Assets/monkey.png" /><!-- 后台设置 --><Image x:Name="image1" /><Image x:Name="image2" /><Image x:Name="image3" /></UniformGrid>
</Window>
2、MainWindow.xaml.cs 文件
using System.Windows;
using System.Windows.Media.Imaging;namespace WpfApp1
{public partial class MainWindow : Window{public MainWindow(){InitializeComponent();image1.Source = new BitmapImage(new System.Uri("pack://application:,,,/WpfApp1;Component/Assets/monkey.png", System.UriKind.Absolute));image2.Source = new BitmapImage(new System.Uri("/WpfApp1;Component/Assets/monkey.png", System.UriKind.Relative));image3.Source = new BitmapImage(new System.Uri("/Assets/monkey.png", System.UriKind.Relative));}}
}
3、预览