WPF资源的学习,使用和管理,以及不显示资源的问题解决 |
您所在的位置:网站首页 › Focusky制作过程中找不到预览出现的页面 › WPF资源的学习,使用和管理,以及不显示资源的问题解决 |
本篇博客介绍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
电脑查看不方便?试试关注公众号吧,本博文已同步至微信公众号。
|
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |