
浅谈WPF系列文章
文章平均质量分 88
浅谈WPF开发实战知识
老码识途呀
专心写文,无问西东
展开
-
推荐一款Win11主题WPF UI框架
通过WPF Gallery,可以参考官方示例,提升自己的编程能力,同样有助于WPF开发者们开发出更符合现在设计风格、更美观的界面。最近在微软商店,官方上架了新款Win11风格的WPF版UI框架【WPF Gallery Preview 1.0.0.0】,这款应用引入了前沿的Fluent Design UI设计,为用户带来全新的视觉体验。在微软商店有很多免费的应用程序可供安装,且内容丰富多样,不仅包含常用软件,还有开发工具,类库等内容,应有尽有。操作系统,需要升级到Win11才可以。原创 2024-07-04 11:53:21 · 1391 阅读 · 0 评论 -
WPF系列文章合集(低调奢华版)
自2021年9月21号开通公众号以来,历时2年半的时间,一共写了3个系列文章,《ASP.NET Core MVC从入门到精通系列文章》,《.Net Core开发五大案例》,《浅谈WPF开发系列文章》,以及其他零零散散的知识点,共139篇。自上一个系列文章写完之后,最近的两三个月时间,一直在写WPF相关技术文章,断断续续地写了近二十几篇文章,为了方便大家阅读,现将本系列文章分类整理,汇总如下。另外,马上就要放假了,准备回家陪陪小孩子,暂时先不更新文章了,节后再更,顺便趁此时间,整理一下思路,短暂休整一下。原创 2024-04-08 10:35:33 · 884 阅读 · 0 评论 -
浅谈WPF之路由事件
随后,路由事件将朝着路由事件的源节点元素(即引发路由事件的元素)方向,沿路由线路传播到后续的子元素。合成控件的过程中通常会使用或处理隧道路由事件,通过这种方式,可以有意地禁止复合部件中的事件,或者将其替换为特定于整个控件的事件。路由事件随后会路由到后续的父级元素,直到到达元素树的根。路由事件与直接事件的区别在于,直接事件激发时,发送者直接将消息通过事件订阅者交给事件响应者,事件响应者对事件的发生做出响应。随后,路由事件将朝着路由事件的源节点元素(即引发路由事件的元素)方向,沿路由线路传播到后续的子元素。原创 2024-03-31 09:34:27 · 1474 阅读 · 0 评论 -
浅谈WPF之属性系统
在WPF开发中,经常听到各种属性,如:依赖属性,附加属性,CLR属性,那这些不同类型的属性,具体又有什么作用呢?今天以一些简单的小例子,简述一下WPF开发中,各种属性的相关概念和应用,仅供学习分享使用,如有不足之处,还请指正。注意:在此示例中,Name的值,可通过公共字段进行赋值,也可通过SetName方法赋值,但是我们无法要求调用对象强制采用哪一种,,因为看起来两种都可以。在上述示例中,将依赖属性Age绑定到Slider,通过Slider控件的滑动,数值改变,触发Age属性的回调函数。原创 2024-03-29 08:00:00 · 896 阅读 · 0 评论 -
浅谈WPF之MVVM工具包
点击项目右键,选择“管理NuGet程序包”,打开NuGet管理窗口,然后搜索“CommunityToolkit.Mvvm”,进行安装即可,目前最新版本为8.2.2。在之前的WPF示例中,都会用到一个MVVM框,也是一个比较常的MVVM框架,就是MVVM工具包【CommunityToolkit.Mvvm】,今天专门以一个简单的小例子,简述一下MVVM工具包的常见用法,仅供学习分享使用,如有不足之处,还请指正。在本实例中,只是简单介绍了MVVM工具包的使用,如若想具体了解更详细内容,可参考官方文档,原创 2024-03-25 08:00:00 · 2169 阅读 · 0 评论 -
浅谈WPF之Binding数据校验和类型转换
在WPF开发中,Binding实现了数据在Source和Target之间的传递和流通,就像现实生活中的一条条道路,建立起了城镇与城镇之间的衔接,而数据校验和类型转换,就像高速公路之间的收费站和安检站。那在WPF开发中,如何实现数据的校验和类型转换呢?在数据绑定时,如果Source端的数据类型和Target端的数据类型不一致时,就需要用到数据类型转换,如:true/false与显示/隐藏之间的转换等,要实现数据转换,需要用到Binding的Converter属性。,仅供学习分享使用,如有不足之处,还请指正。原创 2024-03-04 21:15:37 · 1165 阅读 · 0 评论 -
浅谈WPF之利用RichTextBox实现富文本编辑器
在实际应用中,富文本随处可见,如留言板,聊天软件,文档编辑,特定格式内容等,在WPF开发中,如何实现富文本编辑呢?本文以一个简单的小例子,简述如何通过RichTextBox实现富文本编辑功能,主要实现复制,剪切,粘贴,撤销,重做,保存,打开,文本加粗,斜体,下划线,删除线,左对齐,居中对齐,右对齐,两端对齐,缩进,减少缩进,项目符号,数字符号,上标,下标,背景色,前景色,图片,打印等功能,仅供学习分享使用,如有不足之处,还请指正。原创 2024-02-19 08:00:00 · 2670 阅读 · 0 评论 -
浅谈WPF之DataGrid过滤,分组,排序
使用过Excel的用户都知道,Excel可以方便的对数据进行分组,过滤,排序等操作,而在WPF中,默认提供的DataGrid只有很简单的功能,那么如何才能让我们开发的DataGrid,也像Excel一样具备丰富的客户端操作呢?今天就以一个简单的小例子,简述如何在WPF中实现DataGrid的过滤,筛选,排序等功能。当列表中元素数量发生变化时,可以实时的通知DataGrid进行刷新。注意:构造函数中的方法,用于创建Students列表,包含100名学生,分别对应不同的编号,姓名,年龄,性别,班级等信息。原创 2023-12-22 21:59:29 · 1804 阅读 · 0 评论 -
浅谈WPF之ToolTip工具提示
当用户将鼠标指针移动到具有工具提示的元素上时,将在一段指定的时间内显示一个包含工具提示内容(例如,介绍控件功能的文本内容)的窗口。Placement的值是一个枚举,常用的有:Bottom,Top,Left,Right,Center等。以上示例,工具提示为一个图标,一个文本提示,水平排列。这就是本文需要介绍的ToolTip【工具提示】内容,本文以一些简单的小例子,简述如何在。以上就是【浅谈WPF之ToolTip工具提示】的全部内容,希望能够一起学习,共同进步。,仅供学习分享使用,如有不足之处,还请指正。原创 2023-12-27 23:11:08 · 2419 阅读 · 0 评论 -
浅谈WPF之控件拖拽与拖动
使用过office的visio软件画图的小伙伴都知道,画图软件分为两部分,左侧图形库,存放各种图标,右侧是一个画布,将左侧图形库的图标控件拖拽到右侧画布,就会生成一个新的控件,并且可以自由拖动。那如何在WPF程序中,实现类似的功能呢?在控件对象的MouseDown,MouseMove,MouseUp三个事件中,实现控件的拖动效果。以上就是WPF之控件拖拽与拖动的全部内容,希望能够一起学习,共同进步。,仅供学习分享使用,如有不足之处,还请指正。注意,在页面布局中,为图标库中的。原创 2023-12-08 12:00:00 · 4330 阅读 · 4 评论 -
浅谈WPF之UI布局
如果Canvas是窗口主元素(即最外层的布局面板是Canvas),用户改变窗口大小时,Canvas也会随之变化,子元素的位置也会随之移动,以保证相对于Canvas的位置属性不变。如果包含的元素超过了面板空间,它只会截断多出的内容。Width,Height,MinWidth,MinHeight,MaxWidth,MaxHeight:分别用来设置StackPanel的宽,高,最小宽,最小高,最大宽,最大高。Canvas通过设置Left,Top,Bottom,Right等属性的值,来设置子元素的位置。原创 2024-01-24 22:50:46 · 2147 阅读 · 0 评论 -
浅谈WPF之样式与资源
WPF通过样式,不仅可以方便的设置控件元素的展示方式,给用户呈现多样化的体验,还简化配置,避免重复设置元素的属性,以达到节约成本,提高工作效率的目的,样式也是资源的一种表现形式。两个按钮使用同一个资源【背景图片】,只是一个采用静态资源引用,一个采用动态资源引用,当资源发生改变时,一个不改变,一个实时变化。WPF不仅支持传统的程序级的资源,还有独具特色的对象级资源,每一个界面元素,都可以拥有自己的资源,并被子元素共享。当鼠标进入时,字体变大,当鼠标离开时,字体恢复,如下所示:。原创 2024-01-27 00:08:34 · 1605 阅读 · 0 评论 -
浅谈WPF之DataGrid动态生成列
在日常开发中,DataGrid作为二维表格,非常适合数据的展示和统计。通常情况下,一般都有固定的格式和确定的数据列展示,但是在某些特殊情况下,也可能会需要用到动态生成列。本文以一些简单的小例子,简述在WPF开发中,如何动态生成DataGrid的行和列,仅供学习分享使用,如有不足之处,还请指正。原创 2024-02-22 23:40:47 · 2303 阅读 · 0 评论 -
浅谈WPF之装饰器实现控件锚点
装饰器在 AdornerLayer 中呈现,它是始终位于装饰元素或装饰元素集合之上的呈现表面。使用过visio的都知道,在绘制流程图时,当选择或鼠标移动到控件时,都会在控件的四周出现锚点,以便于修改大小,移动位置,或连接线等,那此功能是如何实现的呢?在WPF开发中,想要在控件四周实现锚点,可以通过装饰器来实现,今天通过一个简单的小例子,简述如何在WPF开发中,应用装饰器,仅供学习分享使用,如有不足之处,还请指正。以上就是浅谈WPF之装饰器实现控件锚点的全部内容,希望可以抛砖引玉,一起学习,共同进步。原创 2023-12-17 07:30:00 · 1493 阅读 · 0 评论 -
浅谈WPF之UniformGrid和ItemsControl
在日常开发中,有些布局非常具有规律性,比如相同的列宽,行高,均匀的排列等,为了简化开发,WPF提供了UniformGrid布局和ItemsControl容器,本文以一个简单的小例子,简述,如何在WPF开发中应用UniformGrid和ItemsControl实现均匀的布局,仅供学习分享使用,如有不足之处,还请指正。原创 2024-01-31 01:20:14 · 2891 阅读 · 0 评论 -
浅谈WPF之控件模板和数据模板
DataGrid预制了几种列展示数据的方式,如:DataGridTextColumn【文本】,DataGridCheckBoxColumn【复选框】,DataGridComboBoxColumn【下拉框】,DataGridHyperlinkColumn【链接】等,如果使用数据模板,则采用DataGridTemplateColumn进行定义。通过定义数据模板,可以丰富数据的展示形式。通过默认创建的控件模板Style,可以修改和重定义控件的显示内容,如:设置按钮显示圆角,和鼠标放上去为红色。原创 2023-11-19 08:00:00 · 2119 阅读 · 2 评论 -
浅谈WPF之Popup弹出层
默认情况下,当IsOpen属性为true时,将一直处于打开状态,直到属性变为false。在日常开发中,当点击某控件时,经常看到一些弹出框,停靠在某些页面元素的附近,但这些又不是真正的窗口,而是页面的一部分,那这种功能是如何实现的呢?Popup(弹出层),Popup 控件提供一种在单独窗口中显示内容的方法,该窗口相对于指定元素或屏幕坐标在当前应用程序窗口上浮动。当ToggleButton取消选中时,隐藏弹出层。Popup控件,默认支持淡入,滑入等动画效果,,仅供学习分享使用,如有不足之处,还请指正。原创 2024-01-10 17:23:10 · 5160 阅读 · 0 评论 -
浅谈WPF之各种Template
前几天写了一篇文章【浅谈WPF之控件模板和数据模板】,有粉丝反馈说这两种模板容易弄混,不知道什么时候该用控件模块,什么时候该用数据模板,以及template和itemtemplate之间的关系等,今天专门写一篇文章,简述WPF中各种模板及其相互关系。管理Items的排列方式,如,ComboBox默认是竖直排列的,我们要横着排列,只需要定义ItemsPanel为WrapPanel,就可以了。但是,只负责显示,而不能管理如何显示,如果我们要内容横向排列,就要用到ItemsPanel。原创 2023-11-23 08:00:00 · 1942 阅读 · 0 评论