美文网首页
你知道WPF这三大模板实例运用吗?

你知道WPF这三大模板实例运用吗?

作者: 朝夕Net社区 | 来源:发表于2021-03-30 16:01 被阅读0次

1、介绍

          对于Windows桌面端应用开发来讲,WPF以其界面渲染的特殊性,灵活的界面布局而让人津津乐道,因为它能为用户提供更好的交互体验。如何利用WPF开发出让人赏心悦目的界面与功能呢?这里不仅仅只是布局的功劳,很大一部分都在WPF模板的灵活使用,那么这里就来聊一聊WPF的三大模板。

2、控件模板ControlTemplate

         WPF所有控件都是基于呈现与行为分离的模式,开发人员可以在自己应用场景中根据需要进行不同呈现状态的更改,而不会影响到控件的原始功能行为,能让我们在任意改变控件外观的同时还能保留控件的操作动作,这里其实除了模板的分离还得益于WPF的路由事件(后面有机会再聊,今天就先说模板)。下面以一个控件为例,可以进行不同的模板修改。

这里我们可以直接使用窗口资源,创建一个ControlTemplate对象,呈现结果与代码如下:

三个按钮根据不同的模板进行不了同的呈现,但是原始功能依然保留,不受任何影响

3、数据模板DataTemplate

数据模板其实是为了解决数据集绑定中数据呈现的问题,它规定了数据集中数据如何布局,一般在数据集控件中使用,比如ItemsControl、ListView、ListBox、DataGrid等,下面还是以一个简单的例子来介绍:

这里的DataTemplate就规定了绑定到ItemsControl的数据集中的数据如何显示,而且被绑定的值才能显示,没有被绑定的值无法显示

4、容器模板ItemsPanelTemplate

窗口模板也是伴随送数据集合控件一起了,它规定了数据呈现的排列方式,可以通过指定不同的布局控件进行不同的布局显示,比如下面的例子介绍了以UniformGrid方式进行布局的例子

         有时候有人为问我:如何让一个布局控件通过绑定的方式进行子项的动态增删?那么这个问题的奥秘就在上面这个例子中,借助一个数据集合控件,将此控件的容器模板改变成所要动态增删子项的容器就可以,不仅仅是Grid、StackPanel还包括UniformGrid、WrapPanel、DockPanel、Canvas都可以,灵活运用能得到意想不到的效果。

         最后展示一个利用自定义容器的方式,进行了一个瀑布流式布局的动态数据呈现:

持续关注后续更新更多干货!

相关文章

  • 你知道WPF这三大模板实例运用吗?

    1、介绍 对于Windows桌面端应用开发来讲,WPF以其界面渲染的特殊性,灵活的界面布局而让人津津乐道...

  • vue 248+个知识点(面试题)

    你知道vue的模板语法用的是哪个web模板引擎的吗?说说你对这模板引擎的理解 你知道v-model的原理吗?说说看...

  • vue面试题大全

    vue 1、 你知道vue的模板语法用的是哪个web模板引擎的吗?说说你对这模板引擎的理解 Vue使用了Musta...

  • 读书三问

    看到这三问,运用在读书时,应该非常适合: Real:关于这个状况,你能够举一个实例吗? Soon:能够举一个最近的...

  • Vue初学-模板语法

    模板语法 Vue使用了基于HTML的模板语法,语序开发这声明式将dom绑定在底层Vue实例的数据。Vue的模板都是...

  • wpf高级篇高清视频教程

    wpf高级篇高清视频教程,是基础篇的升级讲解和深化理解,我们通过很多实例来讲解了wpf的具体使用,在项目中用到的知...

  • 项目管理十大常用模板

    有需要这十个模板的,请留邮箱。 在进行项目管理时,只要能熟练运用好这十个模板,知行合一,你的项目基本就能受控,就更...

  • WPF简介

    目录 什么是WPF? WPF的历史? 为什么要用WPF及WPF作用 WPF与winForm区别? 什么是WPF? ...

  • Unity中,专用于GameObject的简易对象池

    需求 外部传入GameObject模板,从对象池中获取该模板的实例进行使用;使用完毕后,传入模板和之前获取的实例,...

  • WPF/C#学习笔记.2:Xml格式文件读取与通过XmlData

    WPF/C#学习笔记.2 Xml格式文件读取与通过XmlDataProvider以及资源模板“动态”绑定到Tree...

网友评论

      本文标题:你知道WPF这三大模板实例运用吗?

      本文链接:https://www.haomeiwen.com/subject/vzrghltx.html