[C#] WPF - 资源URI

一、组成

1、资源URI总共包括4个部分(当前程序集可以省略前3个):

①:pack://application:,,,

②:/[程序集名称]

③:;Component

④:/[资源路径]

二、举例

项目结构如下图所示:

1、MainWindow.xaml 文件

html 复制代码
<Window
    x: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 文件

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、预览

相关推荐
程序员老乔2 分钟前
Java 新纪元 — JDK 25 + Spring Boot 4 全栈实战(二):Valhalla落地,值类型如何让电商DTO内存占用暴跌
java·spring boot·c#
祝大家百事可乐21 分钟前
嵌入式——02 数据结构
c++·c#·硬件工程
我是唐青枫1 小时前
深入理解 C#.NET TaskScheduler:为什么大量使用 Work-Stealing
c#·.net
唯情于酒3 小时前
net core web api 使用log4net
c#·.net core
SunnyDays10113 小时前
C# 实战:快速查找并高亮 Word 文档中的文字(普通查找 + 正则表达式)
开发语言·c#
人工智能AI技术3 小时前
Qwen3.5-Plus登顶|C#集成通义千问,高并发服务实战优化
人工智能·c#
SunnyDays10114 小时前
如何使用 C# 在 Word 文档中插入超链接 (含文本与图片链接)
开发语言·c#
一念春风5 小时前
证件照制作工具(WPF C#)
c#·wpf
似水明俊德13 小时前
02-C#.Net-反射-面试题
开发语言·面试·职场和发展·c#·.net
阿蒙Amon14 小时前
C#常用类库-详解SerialPort
开发语言·c#