WPF资源的学习,使用和管理,以及不显示资源的问题解决

您所在的位置:网站首页 Focusky制作过程中找不到预览出现的页面 WPF资源的学习,使用和管理,以及不显示资源的问题解决

WPF资源的学习,使用和管理,以及不显示资源的问题解决

2024-07-17 17:09:29| 来源: 网络整理| 查看: 265

本篇博客介绍WPF中资源的使用,管理,以及资源不显示的异常解决办法。欢迎转载,欢迎评论。

一,WPF的资源

1,WPF的资源有很多种,例如常量字符串,图片,主题色彩,主题风格,字体库等等。

  下面我们先从最简单的资源开始,使用一个简单的字符串常量,作为我们的资源。

  上图中,就是使用一个简单的窗体资源(当然也可以声明某个控件的资源),这个资源是字符串类型的常量,把这个资源绑定到我们的TextBlock控件上。

 

  2,声明一个ImageBrush类型的资源,作为Button控件的背景。

  可以看到,按钮使用了ImageBrush资源,并且成功的显示出了图片背景。

 

  3,这时候,问题也就显现出来了,当我们的额资源非常多的时候,如果全部把写在窗体的xaml中,xaml将会非常的臃肿凌乱,难

   以阅读。我们就要想办法把资源放到统一的一个地方,这个地方就是App.xaml。

 

二,资源的管理和归类

  1,注意,我们将要添加资源的地方是App.xaml,不是App.xaml.cs。这个配置称为资源字典,我们把所有的资源都可以写在这里。  

   

  在App.xaml中定义完了画刷资源后,我们来使用它:

   当我们为Button控件的Background键入我们定义的“imageBrush”后,Button控件将会显示我们为其指定的图片,作为背景。

   此处,虽然我们定义了画刷资源,作为窗体的资源,即使和App.xaml中定义的名称重复,但是仍然不影响我们使用窗体资源,和在

   App.xaml中定义的资源,只不过他们是有优先级顺序的。有兴趣的朋友可以继续研究他们的优先级顺序。

 

  2,资源的进一步归类管理

    上面的用法还有一个问题,当我们的资源非常多的时候,所有的资源将会全部聚集在这个App.xaml文件中,这样的话,

    App.xaml文件将会非常的杂乱无序,导致资源难以管理和修改。无论是代码还是资源,我们尽量使其松散,加强重构

    和复用功能。下面我们来继续改进: 

    在项目中,新建一个文件夹,名字为“Resource”,在“Resource”文件夹内新建一个资源字典文件“ResourceDic.xaml”。在

    “ResourceDic.xaml”中定义我们的资源:定义完之后,ResourceDic.xaml长这个样子:  

    在这里我们定义了很多的资源,但是对于整个项目的文件来说,它不显得繁杂,因为我们所有的资源,都存在于Reource这个文

    件夹内,即使以后再增加新的资源,我们只需再增加一个新的资源字典文件即可。甚至可以按照字体,常量,图片,等,给这些

    资源进行进一步的归类整理。

    资源字典已经定义好了,该如何让使用它呢?我们来到App.xaml中,针对整个项目,修改为如下所示:

    在上图中,修改完App.xaml文件,然后保存。下面来使用它。

 

  3,使用整理后的资源

    本例中,我们使用了字体家族作为我们的资源,所以我们会看到Button最终呈现的效果是图标。

 

 

三,项目过程中的问题和解决办法

  1,在设计器中可以显示使用我们的图片和字体库资源,但是在运行时中,却不能显示,如下图所示:

 

  设计时就是我们在xaml中,进行界面设计时,Button可以正常的显示使用,但是程序运行起来时,Button却没有了图标,这是因为

  我们没有把资源属性的设置为资源,我们可以这样来解决:

  

  然后就会来到下图所示画面:

    把资源文件的“生成操作”的值,选择为:Resource。然后清理解决方案--->重新生成,再次运行,就可以了。

 

  2,资源字典文件的生成操作:您还记得我们创建的资源字典ResourceDic.xaml文件吗?需要把它的属性设置为“Page”。  

 

 

四,总结

  1,资源归类整理,提高了程序的可读性和扩展性,当我们需要修改某处的显示效果的时候,可以快速找到资源文件,进行修改。

  2,增加项目资源的时候,就在Resource文件夹下,加入一个新的资源字典就可以了,不需要有其他过多的考虑,使项目的开发

    更加规范化。

  3,流程总结如下:

 

本项目已上传至Github,您可直接下载运行:https://github.com/Wind-DL/WPFKnowledge.git

VS版本:Microsoft Visual Studio Community 2019 版本 16.6.3

.NET Framework 4.5

 

 

电脑查看不方便?试试关注公众号吧,本博文已同步至微信公众号。

 



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


    图片新闻

    实验室药品柜的特性有哪些
    实验室药品柜是实验室家具的重要组成部分之一,主要
    小学科学实验中有哪些教学
    计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
    实验室各种仪器原理动图讲
    1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
    高中化学常见仪器及实验装
    1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
    微生物操作主要设备和器具
    今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
    浅谈通风柜使用基本常识
     众所周知,通风柜功能中最主要的就是排气功能。在

    专题文章

      CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭