WPF的资源

本文详细介绍了WPF中的两种资源类型:程序集资源(包括资源文件、内容文件和Site of Origin文件)及其加载方式,以及逻辑资源的概念、静态资源和动态资源的差异与使用场景。同时,探讨了如何通过URI访问资源,并提到了ResourceDictionary在资源组织中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

WPF的资源有两种,一种称为“程序集资源”( assembly resources)或者“二进制资源”(binary resources),在MSDN中将其称为“应用程序数据文件”(application data files);另外一种称为资源或者对象资源(object resources)、“逻辑资源”(logic resources),甚至“声明式资源”(declarative resources)。统称前者为程序集资源,后者为逻辑资源。

一、程序集资源

应用程序中常常依赖一些XAML、图片、音频和视频等文件,可以将其作为程序集资源组织起来。程序集资源可以以如下三种方式打包:

1.资源文件(Resource File):直接嵌入到程序集中。

资源文件是被直接打包到程序集当中的,先看下面一个示例。我们在解决方案资源管理器中的目录上点击右键,然后选中添加|新建文件夹,然后在这个新建的文件夹中添加一些图片。如下图,我们在图片文件的属性里面看到它的Build Action选项均为Resource。

           

下面我们在程序中使用这些图片文件 ,代码如下:

<Window x:Class="AssemblyResources.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <StackPanel>
            <GroupBox Header="Pack URIs">
                <StackPanel>
                    <Image Source="pack://application:,,,/Image/1348648395834.jpg"/>
                </StackPanel>
            </GroupBox>
        </StackPanel>
    </Grid>
</Window>
在图片文件的属性页中有一个Build Action成员,这个成员有很多可选值。其中有一个Embedded Resource(嵌入式资源)和Resource,这两者都会在应用程序中嵌入一个程序集资源,前者用于在Winform程序中嵌入程序集资源,后者用于WPF。在上述代码中,有一句引用资源的XAML代码:pack://application:,,,/Image/1348648395834.jpg ,这种字符串是按照URI的规范来写的,我们也可以使用代码来访问这个图片资源,如下࿱
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值