自上一个系列文章写完之后,最近的两三个月时间,一直在写WPF相关技术文章,断断续续地写了近二十几篇文章,为了方便大家阅读,现将本系列文章分类整理,汇总如下。   浅谈WPF系列文章 本系列共17篇文章,目录如下:   浅谈WPF之UI布局 浅谈WPF之样式与资源 浅谈WPF之各种Template 浅谈WPF之Binding数据校验和类型转换 浅谈WPF之路由事件 浅谈WPF之属性系统 浅谈WPF之控件模板和数据模板 浅谈WPF之DataGrid过滤,分组,排序 浅谈WPF之UniformGrid和ItemsControl 浅谈WPF之DataGrid动态生成列 浅谈...

  K99B7pUt4WOS   21天前   28   0   0 .NET

在WPF开发中,经常听到各种属性,如:依赖属性,附加属性,CLR属性,那这些不同类型的属性,具体又有什么作用呢?今天以一些简单的小例子,简述一下WPF开发中,各种属性的相关概念和应用,仅供学习分享使用,如有不足之处,还请指正。   CLR属性   CLR属性(CommonLanguageRuntime),又称为.Net标准属性,是对类中私有字段(private)的安装访问包装。通过属性,可以对调用对象输入的值进行校验,拦截等。 在属性出现之前,如果要对公开字段进行内容校验,则需要通过公开的方法进行调用,而且无法进行强制性校验,这样增加了数据校验的难度和程序的复杂度。具体代...

  K99B7pUt4WOS   2024年03月29日   26   0   0 .NET

在之前的WPF示例中,都会用到一个MVVM框,也是一个比较常的MVVM框架,就是MVVM工具包【CommunityToolkit.Mvvm】,今天专门以一个简单的小例子,简述一下MVVM工具包的常见用法,仅供学习分享使用,如有不足之处,还请指正。   什么是MVVM工具包?   CommunityToolkit.Mvvm包(又名MVVM工具包)是一个现代、快速和模块化的MVVM库。MVVM工具包是.NET社区工具包的一部分,围绕以下原则生成: 独立于平台和运行时 .NETStandard2.0、.NETStandard2.1 和.NET6🚀(与UI...

  K99B7pUt4WOS   2024年03月25日   24   0   0 .NET

在WPF开发中,Binding实现了数据在Source和Target之间的传递和流通,就像现实生活中的一条条道路,建立起了城镇与城镇之间的衔接,而数据校验和类型转换,就像高速公路之间的收费站和安检站。那在WPF开发中,如何实现数据的校验和类型转换呢?本文以一个简单的小例子,简述在WPF开发中,实现数据校验和类型转换的相关知识点,仅供学习分享使用,如有不足之处,还请指正。 在数据绑定Binding中,数据校验主要通过ValidationRules属性,数据转换主要通过Converter属性。   数据校验   在WPF开发中,校验数据的有效性,主要步骤如下:   ...

  K99B7pUt4WOS   2024年03月05日   57   0   0 .NET

在日常开发中,DataGrid作为二维表格,非常适合数据的展示和统计。通常情况下,一般都有固定的格式和确定的数据列展示,但是在某些特殊情况下,也可能会需要用到动态生成列。本文以一些简单的小例子,简述在WPF开发中,如何动态生成DataGrid的行和列,仅供学习分享使用,如有不足之处,还请指正。   涉及知识点   在本示例中,用到的知识点如下所示: CommunityToolkit.Mvvm,微软提供的一个基于.Net的MVVM框架库,通过此库,可以方便是实现数据绑定和命令绑定,达到前后端分离的目的。 ObservableCollection,相比较于List,当列表中...

  K99B7pUt4WOS   2024年02月23日   56   0   0 .NET

在日常开发中,有些布局非常具有规律性,比如相同的列宽,行高,均匀的排列等,为了简化开发,WPF提供了UniformGrid布局和ItemsControl容器,本文以一个简单的小例子,简述,如何在WPF开发中应用UniformGrid和ItemsControl实现均匀的布局,仅供学习分享使用,如有不足之处,还请指正。   什么是UniformGrid?   在WPF开发中,提供了一种Grid网格布局,此布局应用灵活,形式多样,在使用之前,需要定义行,列,设置高度,宽度等内容,使用相对复杂。为了简化布局,针对具有等宽,等高的布局,提供了一种更加简化的布局容器UniformGr...

  K99B7pUt4WOS   2024年02月19日   59   0   0 .NET

在实际应用中,富文本随处可见,如留言板,聊天软件,文档编辑,特定格式内容等,在WPF开发中,如何实现富文本编辑呢?本文以一个简单的小例子,简述如何通过RichTextBox实现富文本编辑功能,主要实现复制,剪切,粘贴,撤销,重做,保存,打开,文本加粗,斜体,下划线,删除线,左对齐,居中对齐,右对齐,两端对齐,缩进,减少缩进,项目符号,数字符号,上标,下标,背景色,前景色,图片,打印等功能,仅供学习分享使用,如有不足之处,还请指正。   什么是RichTextBox?   使用RichTextBox可以显示或编辑流内容,如文本,图片,表格等,TextBox和RichTextB...

  K99B7pUt4WOS   2024年02月19日   31   0   0 .NET

在日常开发中,当点击某控件时,经常看到一些弹出框,停靠在某些页面元素的附近,但这些又不是真正的窗口,而是页面的一部分,那这种功能是如何实现的呢?今天就以一个简单的小例子,简述如何在WPF开发中,通过Popup实现鼠标点击弹出浮动停靠窗口,仅供学习分享使用,如有不足之处,还请指正。   什么是Popup?   Popup(弹出层),Popup控件提供一种在单独窗口中显示内容的方法,该窗口相对于指定元素或屏幕坐标在当前应用程序窗口上浮动。 Popup控件通过IsOpen属性控制是否可见。 当可见时,IsOpen 属性设置为 true,否...

  K99B7pUt4WOS   2024年01月15日   11   0   0 .NET

千里之行,始于足下,若想提高软件编程能力,最最重要的是实践,所谓纸上得来终觉浅,绝知此事要躬行。根据相关【艾宾浩斯遗忘曲线】研究表明,如果不动手实践,记住的东西会很快忘记。 为了便于大家查找,特将之前开发的.NetCore相关的五大案例整理成文,共计440页,32w字,免费提供给大家,文章底部有PDF下载链接。   ASP.NETCore学生信息管理系统   CASP.NETCore开发学生信息管理系统(一) CASP.NETCore开发学生信息管理系统(二) CASP.NETCore开发学生信息管理系统(三)   VUE3.0+Antdv+WebApi学生...

  K99B7pUt4WOS   2024年01月12日   13   0   0 .NET

在日常应用中,当鼠标放置在某些控件上时,都会有相应的信息提示,从软件易用性上来说,这是一个非常友好的功能设计。那在WPF中,如何进行控件信息提示呢?这就是本文需要介绍的ToolTip【工具提示】内容,本文以一些简单的小例子,简述如何在WPF开发中,应用工具提示,仅供学习分享使用,如有不足之处,还请指正。   什么是工具提示?   工具提示是一个小型的弹出窗口,在用户将鼠标指针悬停在某个元素(如Button)上时显示。当用户将鼠标指针移动到具有工具提示的元素上时,将在一段指定的时间内显示一个包含工具提示内容(例如,介绍控件功能的文本内容)的窗口。如果用户将鼠标指针从控件上移...

  K99B7pUt4WOS   2024年01月04日   8   0   0 .NET

在WPF开发中,依赖注入(DependencyInjection)和控制反转(InversionofControl)是程序解耦的关键,在当今软件工程中占有举足轻重的地位,两者之间有着密不可分的联系。今天就以一个简单的小例子,简述如何在WPF中实现依赖注入和控制反转,仅供学习分享使用,如有不足之处,还请指正。   什么是依赖注入和控制反转?   依赖注入又称为依赖项注入,那什么是依赖项呢?比如在一个类A中,实现某中功能,而此功能是另外一个类B实现的,那就说明A依赖B,B就是A的依赖项。或者是另一个对象A所依赖的对象B。示例如下: namespaceDemoIoc { pub...

  K99B7pUt4WOS   2023年12月31日   7   0   0 .NET

前几天写了一篇文章【浅谈WPF之控件模板和数据模板】,有粉丝反馈说这两种模板容易弄混,不知道什么时候该用控件模块,什么时候该用数据模板,以及template和itemtemplate之间的关系等,今天专门写一篇文章,简述WPF中各种模板及其相互关系。仅供学习分享使用,如有不足之处,还请指正。   概述 在WPF中,一共有三种模板,分别如下: 控件模板ControlTemplate,用来指定控件的呈现样式。 数据模板DataTemplate,用来指定子项数据的呈现样式。 子控件模板ItemPanelTemplate,用来指定子项控件的布局样式。   模板与控件之间的关系...

  K99B7pUt4WOS   2023年12月31日   25   0   0 .NET

使用过office的visio软件画图的小伙伴都知道,画图软件分为两部分,左侧图形库,存放各种图标,右侧是一个画布,将左侧图形库的图标控件拖拽到右侧画布,就会生成一个新的控件,并且可以自由拖动。那如何在WPF程序中,实现类似的功能呢?今天就以一个简单的小例子,简述如何在WPF中实现控件的拖拽和拖动,仅供学习分享使用,如有不足之处,还请指正。   涉及知识点   WPF控件的拖拽与拖动,主要涉及知识点如下所示: 容器布局,本示例采用左右布局,主容器采用Grid并分成两列进行布局,左侧图标库采用UniformGrid布局,右侧画布采用Canvas布局。 控件拖拽,当图标库中...

  K99B7pUt4WOS   2023年12月31日   12   0   0 .NET

使用过visio的都知道,在绘制流程图时,当选择或鼠标移动到控件时,都会在控件的四周出现锚点,以便于修改大小,移动位置,或连接线等,那此功能是如何实现的呢?在WPF开发中,想要在控件四周实现锚点,可以通过装饰器来实现,今天通过一个简单的小例子,简述如何在WPF开发中,应用装饰器,仅供学习分享使用,如有不足之处,还请指正。   什么是装饰器?   装饰器(Adorner)是一种特殊类型的FrameworkElement,用于向用户提供视觉提示。装饰器有很多用途,可用来向元素添加功能句柄,或者提供有关某个控件的状态信息。Adorner 是绑定到 UIEle...

  K99B7pUt4WOS   2023年12月31日   13   0   0 .NET

使用过Excel的用户都知道,Excel可以方便的对数据进行分组,过滤,排序等操作,而在WPF中,默认提供的DataGrid只有很简单的功能,那么如何才能让我们开发的DataGrid,也像Excel一样具备丰富的客户端操作呢?今天就以一个简单的小例子,简述如何在WPF中实现DataGrid的过滤,筛选,排序等功能。仅供学习分享使用,如有不足之处,还请指正。 涉及知识点 在本示例中,涉及知识点如下所示: CollectionView, CollectionView 类为实现 IEnumerable 接口的数据源提供分组和排序功能。 Collection...

  K99B7pUt4WOS   2023年12月31日   14   0   0 .NET

在日常应用中,当鼠标放置在某些控件上时,都会有相应的信息提示,从软件易用性上来说,这是一个非常友好的功能设计。那在WPF中,如何进行控件信息提示呢?这就是本文需要介绍的ToolTip【工具提示】内容,本文以一些简单的小例子,简述如何在WPF开发中,应用工具提示,仅供学习分享使用,如有不足之处,还请指正。   什么是工具提示?   工具提示是一个小型的弹出窗口,在用户将鼠标指针悬停在某个元素(如Button)上时显示。当用户将鼠标指针移动到具有工具提示的元素上时,将在一段指定的时间内显示一个包含工具提示内容(例如,介绍控件功能的文本内容)的窗口。如果用户将鼠标指针从控件上移...

  K99B7pUt4WOS   2023年12月31日   34   0   0 .NET

在日常应用中,当鼠标放置在某些控件上时,都会有相应的信息提示,从软件易用性上来说,这是一个非常友好的功能设计。那在WPF中,如何进行控件信息提示呢?这就是本文需要介绍的ToolTip【工具提示】内容,本文以一些简单的小例子,简述如何在WPF开发中,应用工具提示,仅供学习分享使用,如有不足之处,还请指正。   什么是工具提示?   工具提示是一个小型的弹出窗口,在用户将鼠标指针悬停在某个元素(如Button)上时显示。当用户将鼠标指针移动到具有工具提示的元素上时,将在一段指定的时间内显示一个包含工具提示内容(例如,介绍控件功能的文本内容)的窗口。如果用户将鼠标指针从控件上移...

  K99B7pUt4WOS   2023年12月28日   13   0   0 .NET

使用过Excel的用户都知道,Excel可以方便的对数据进行分组,过滤,排序等操作,而在WPF中,默认提供的DataGrid只有很简单的功能,那么如何才能让我们开发的DataGrid,也像Excel一样具备丰富的客户端操作呢?今天就以一个简单的小例子,简述如何在WPF中实现DataGrid的过滤,筛选,排序等功能。仅供学习分享使用,如有不足之处,还请指正。 涉及知识点 在本示例中,涉及知识点如下所示: CollectionView, CollectionView 类为实现 IEnumerable 接口的数据源提供分组和排序功能。 Collection...

  K99B7pUt4WOS   2023年12月23日   17   0   0 .NET
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~