《深入浅出WPF》-刘铁猛学习笔记——XAML

XAML是什么? XAML是微软公司创造的一种开发语言,XAML的全称是 Extensible Application Markup Language,即可拓展应用程序标记语言。 它由XML拓展而来,类似的,它的语法以这样标记语法为主,以下例子示例声明一个Button。 <Button></Butt ... »

WPF -- 自定义按钮

本文介绍WPF一种自定义按钮的方法。 实现效果 使用图片做按钮背景; 自定义鼠标进入时效果; 自定义按压效果; 自定义禁用效果 实现效果如下图所示: 实现步骤 创建CustomButton.cs,继承自Button; 创建一个资源文件ButtonStyles.xaml; 在资源文件中设计按钮的Sty ... »

WPF权限控制框架——【4】抛砖引玉

写第一篇“权限控制框架”系列博客是在2021-01-29,在这不到一个月的时间里,收集自己零碎的时间,竟然写出了一个“麻雀虽小,五脏俱全”的权限控制框架;对于一个没有怎么做过wpf项目的程序员来说,我心里还是挺欢畅的。之所以把源码公开,一方面是因为权限控制这方面的源码能找到的不多;另一方看到有朋友们 ... »

WPF 之绘画(十一)

一、WPF 绘画 WPF 可以绘制线段(Line)、矩形(Rectange)、椭圆(Ellipse)、路径(Path)。具体使用如下所示: <!--(1)线段:Line--> <Line X1="0" X2="380" Y1="0" Y2="0" Stroke="Tomato" StrokeThic ... »

WPF 解决内置谷歌浏览器(Cef.ChromiumWebBrowser)在触摸屏无法进行滚动的问题

1.问题描述: 最近在WPF的项目中,需要在控件中嵌套可以浏览特定网页的内容,所以使用了 Cef.ChromiumWebBrowser来解决问题。在执行项目的过程中,主要碰到的问题有: 1.1 当把项目拷贝到其他可触摸使用的显示器上面时,会导致无法对界面进行滚动,只能通过滚动界面上的滚动条对界面进行 ... »

WPF权限控制——【3】数据库、自定义弹窗、表单验证

你相信“物竞天择,适者生存”这样的学说吗?但是我们今天却在提倡“尊老爱幼,救死扶伤”,帮助并救护弱势群体;第二次世界大战期间,希特勒认为自己是优等民族,劣势民族应该被消灭,这样的思想带来的战争之痛,至今让人难以忘怀。我们的文化里面有这样一句话“天无绝人之路”,在西方世界是“神爱世人”。这个世代所创造 ... »

WPF 之命令(七)

一、前言 ​ 事件的作用是发布和传播一些消息,消息送达接收者,事件的使命也就完成了,至于消息响应者如何处理发送来的消息并不做规定,每个接收者可以使用自己的行为来响应事件。即事件不具有约束力。 ​ 命令就有约束力,不仅可以约束代码,还可以约束步骤逻辑。 二、WPF 的 命令系统 ​ WPF 中,命令系 ... »

WPF 之路由事件和附加事件(六)

一、消息驱动与直接事件模型 ​ 事件的前身是消息(Message)。Windows 是消息驱动的系统,运行其上的程序也遵循这个原则。消息的本质就是一条数据,这条消息里面包含着消息的类别,必要的时候还记载着一些消息参数。例如:当你在按下鼠标左键时,一条名为 WM_LBUTTONDOWN 的消息被生成并 ... »

WPF 之 依赖属性与附加属性(五)

一、CLR 属性 ​ 程序的本质是“数据+算法”,或者说用算法来处理数据以期得到输出结果。在程序中,数据表现为各种各样的变量,算法则表现为各种各样的函数(操作符是函数的简记法)。 ​ 类的作用是把散落在程序中的变量和函数进行归档封装并控制它们的访问。被封装在类里的变量称为字段(Field),它表示的 ... »

WPF 之 MultiBinding(多路 Binding)(四)

一、前言 ​ 有时候 UI 需要显示的信息由不止一个数据来源决定,这时候就需要使用 MultiBinding ,即多路 Binding。 ​ MultiBinding 与 Binding 一样均以 BindingBase 为基类,因此,能使用 Binding 的地方都能够使用 MultiBindin ... »

WPF 之 Binding 对数据的校验与转换(三)

一、前言 ​ Binding 的作用就是架在 Source 和 Target 之间的桥梁,数据可以在这座桥梁的帮助下来流通。就像现实中的桥梁会设置一些关卡进行安检一样,Binding 这座桥上也可以设置关卡对数据的有效性进行校验。不仅如此,当两端要求使用不同的数据类型时,我们还可以为数据设置转换器。 ... »

WPF 一种带有多个子集的类ComBox 解决方法

在最近的工作中遇到很多,类似这种layUI风格的Combox: 因为WPF原本的控件,并不具备这种功能,尝试重写Combox的模板,发现无从下手。 于是尝试从多个控件组合来实现这个功能。 这里使用了Popup 来存放数据,发现还不错。 将popup分为三列,每个列的列宽设置位自动,当点击其中一个选项 ... »

WPF权限控制——【2】模块、菜单、按钮

周末没有工作,没有写博客,因为觉得休息很必要;曾听到一句话是这样说的:“你们得救在乎归回安息;你们得力在乎平静安稳”。当我想到太阳没秒钟要燃烧420万吨的燃料时,想到的就是造物主的厚爱与自己的渺小,如果一直忙碌下去,一直觉得自己很了不起,地球缺了我就不转了,那我真的是没救了! 这次博客的标题是模块、 ... »

怎么做一个专业的软件安装包?

C/S客户端开发完成,需要将程序交付给用户,直接压缩发给用户是可以的(只是有点不专业),如果能有一个比较好看的安装界面,那档次就不一样了。 本文介绍怎么使用Adanced Installer 17.9 制作专业的Windows 客户端安装包,其他软件或者本软件其他版本制作步骤也是类似的,下面是软件安 ... »

WPF权限控制——【1】界面布局

本来就不怎么喜欢写博客,好不容易申请了博客园的账号,迈出了先前没有跨越的第一步;转眼间几年的时间就过去了,还是空空如也。今天的心境是这样的,发现wpf相关的资料及源码实在不多,就想写下随笔;一方面是自己在学习中做下记录,另一方面也可以给后来者提供些参考。加利利海与盐海最大的区别就是,前者有进有出,后 ... »

WPF TabControl美化

<Window.Resources> <!-- TabItem的样式 --> <Style TargetType="{x:Type TabItem}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType=" ... »

[XAML] 使用 XAML 格式化工具:XAML Styler

1. XAML 的问题 刚入门 WPF/UWP 之类的 XAML 平台,首先会接触到 XAML 这一新事物。初学 XAML 时对它的印象可以归纳为一个词:一坨。 随着我在 XAML 平台上工作的时间越来越长,我对 XAML 的了解就越来越深入,从语法、约束、扩展性等方方面面,我明白到 XAML 是桌 ... »

WPF NET5 Prism8.0的升级指南

前言 ​ 曾经我以学习的目的写了关于在.NET Core3.1使用Prism的系列文章.NET Core 3 WPF MVVM框架 Prism系列文章索引,也谢谢大家的支持,事实上当初的版本则是Prism7.2.0.1442(7.2)版本,而现在也发布了.NET5和最新的Prism8.0.0.190 ... »