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

相关推荐
北域码匠8 小时前
PID 控制算法完整详解(C# 原生实现,无第三方库)
c#·pid控制·工控开发·闭环控制·自动控制算法·数字pid·增量式pid
离陌在学C#8 小时前
C# 重载与重写:深入理解面向对象编程的核心概念
java·c#
asdzx6711 小时前
Java 实战:基于 Spire.Doc 高效提取 Word 文档文本与图片
java·c#·word
小金子会发光12 小时前
C# WinForms 基于 Socket 手搓 Modbus TCP 调试助手(支持 01/02/03/04/05/06/0F/10)
c#·socket·plc·modbus tcp·工业通信
慧都小妮子13 小时前
PDF图片提取总“褪色“?Aspose.PDF 多层级提取能力详解
pdf·c#·.net·图片处理·文档处理·色彩空间
-银雾鸢尾-15 小时前
C#中的反射关键类-Type
开发语言·c#
淡海水17 小时前
15-07-YooAsset面试篇-Unity性能优化与内存管理
java·unity·面试·性能优化·c#·游戏引擎
dalong1017 小时前
WPF:3D型材模型
3d·wpf
离陌在学C#18 小时前
C# 多态:面向对象编程的核心特性详解
开发语言·c#
一念春风18 小时前
文件透明加密(C、C#)
c语言·c#·wpf