草庐IT

5.WPF样式Style

样式的类型叫Style,它继承于DispatcherObject,它最重要的几个属性如下:TargetType属性:这是一个类类型,也就是一个反射,这个属性指明了当前样式要作用于哪种类型的控件上。因为WPF中有许多的控件,我们定义一个样式时,必须要指明这个样式的“适用范围”。BasedOn属性:样式也有继承的概念,所以,BasedOn指明了当前样式继承于哪个样式Triggers属性:这是一个集合属性,表示触发器的定义,当满足某些条件时,触发哪些行为,以使控件达到一定的“节目效果”。比如当鼠标移上去时,控件的背景颜色变成红色。这些的效果就可以通过定义控件的触发器来设置。Setters属性:这也是

通过Demo学WPF—数据绑定(一)✨

前言✨想学习WPF,但是看视频教程觉得太耗时间,直接看文档又觉得似懂非懂,因此想通过看Demo代码+文档的方式进行学习。准备✨微软官方其实提供了WPF的一些Demo,地址为:microsoft/WPF-Samples:RepositoryforWPFrelatedsamples(github.com)将其克隆到本地,有很多的Demo代码:新建一个空白解决方案:添加现有项目:选择DataBinding中的SimpleBinding:项目文件如下所示:查看SimpleBinding这个Demo的效果:学习这个Demo✨数据绑定的概念首先需要知道数据绑定的基本概念,数据绑定是在应用UI与其显示的数据

WPF项目创建HTTP WEB服务,不使用IIS业务 WPF桌面程序WebApi WPF 集成WebApi C# 创建HTTP Web API服务

在C#WPF应用程序中直接创建HTTP服务或WebAPI服务有以下优点:自托管服务:简化部署:无需依赖外部服务器或IIS(InternetInformationServices),可以直接在应用程序内部启动和运行Web服务。集成紧密:与WPF应用程序的其他组件和逻辑可以更紧密地集成,因为它们都在同一个进程中运行。独立运行:应用程序可以在没有完整Web服务器环境的机器上运行,只需.NET运行时环境。WebAPI框架的优点:RESTful架构:WebAPI基于REST(RepresentationalStateTransfer)原则设计,使得接口简洁、易于理解和使用。强类型支持:C#的强类型特性可

C# WPF 开发一个 Emoji 表情查看软件

微软在发布Windows11系统的时候,发布过一个开源的Emoji表情fluentui-emoji。因为我经常需要里面的一些表情图片,在仓库一个个查找特别的不方便,所以我做了一个表情查看器,可以很方便的查看所有表情,同时可以定位到表情文件的位置。这套fluentui-emoji表情一共有1545个。开源地址:https://github.com/he55/EmojiViewer功能实现fluentui-emoji下的assets文件夹下的每一个子文件夹对应一个Emoji表情文件夹,表情文件夹里面的metadata.json文件储存着Emoji表情的元数据。3D文件夹里面储存的是256x256的

在WPF应用中实现DataGrid的分组显示,以及嵌套明细展示效果

我在前面随笔《在Winform系统开发中,对表格列表中的内容进行分组展示》,介绍了Winform程序中对表格内容进行了分组的展示,在WPF应用中,同样也可以对表格的内容进行分组展示,不过处理方式和Winform有所差异,本篇随笔同样基于SqlSugar开发框架的基础上,实现在WPF应用中实现DataGrid的分组显示,以及嵌套明细展示效果。1、回顾Winform的表格分组展示效果对于常规的二维表格数据,如下所示。我们根据其中一个字段对表格数据进行分组展示,这样更方便用户对特定数据的归类展示处理。Winform的界面中,我们基于DevExpress的GridView控件对数据进行分组展示,其中代

【开源项目】WPF 扩展 -- 多画面视频渲染组件

目录1、项目介绍2、组件集成2.1下载地址2.2添加依赖3、使用示例3.1启动动画3.2视频渲染3.3效果展示4、项目地址 1、项目介绍Com.Gitusme.Net.Extensiones.Wpf是一款Wpf扩展组件。基于.NetCore3.1开发,当前是第一个发布版本 1.0.0,包含启动动画和视频渲染两大重要功能。视频渲染支持平铺模式和画廊模式,支持多画面异步渲染,能有效发挥硬件性能,集成快捷使用方便。免费版仅支持1个画面渲染,多画面渲染诉求,请与作者联系以供技术支持。2、组件集成2.1下载地址https://www.nuget.org/packages/Com.Gitusme.Net.

在WPF应用中,结合阿里矢量图标库使用Geometry图标

在我们的SqlSugar开发框架的WPF应端中,有时候我们需要在按钮或者其他界面元素上使用一些图标,框架中我们可以使用lepoco/wpfui项目的图标库,也可以使用Font-Awesome-WPF图标库,另外我们如果喜欢阿里矢量图标库的,也可以通过使用Geometry图标来实现图标的展示,本篇随笔介绍在WPF应用中,结合阿里矢量图标库使用Geometry图标。1、回顾lepoco/wpfui项目的图标库,也可以使用Font-Awesome-WPF图标库在我们之前介绍过的随笔《循序渐进介绍基于CommunityToolkit.Mvvm和HandyControl的WPF应用端开发(7)--图标列

FluentValidation在C# WPF中的应用

1.引言在.NET开发领域,FluentValidation以其优雅、易扩展的特性成为开发者进行属性验证的首选工具。它不仅适用于Web开发,如MVC、WebAPI和ASP.NETCORE,同样也能完美集成在WPF应用程序中,提供强大的数据验证功能。本文将深入探讨如何在C#WPF项目中运用FluentValidation进行属性验证,并展示如何通过MVVM模式实现这一功能。2.功能概览我们的目标是构建一个WPF应用程序,它能够通过FluentValidation实现以下验证功能:验证ViewModel层的基本数据类型属性,如int、string等。对ViewModel中的复杂属性进行验证,这包括

WPF绑定与通知属性到界面

绑定与通知属性到界面本文同时为b站WPF课程的笔记,相关示例代码前言在上一篇文章C#代码事件里面,我们介绍了利用给控件命名的方式,在后端代码中访问并修改属性。这样子直截了当,但是这样后端代码依赖于前端。如果前端的代码变动较大,后端代码可能要大面积重构。于是利用绑定的这种方法,将前后端分离,前端只需把需要修改的属性设置好绑定变量名,后端只需盯着这些变量名进行操作。这样还可以实现前后端双人开发,后端开发者只需把那些操作的接口名称告诉前端,让对方去绑定相应的空间属性即可。绑定控件属性设置为"{Bindingxxxx}"例如绑定文本框的文字内容到UserName:在后端中写入:publicstring

C# wpf 实现任意控件(包括窗口)更多调整大小功能

WPF拖动改变大小系列第一节Grid内控件拖动调整大小第二节Canvas内控件拖动调整大小第三节窗口拖动调整大小第四节附加属性实现拖动调整大小第五章拓展更多调整大小功能(本章)文章目录WPF拖动改变大小系列前言一、添加的功能1、任意控件DragResize2、边界限制3、交叉拖动4、拖动点模板5、拖动点容器模板6、整体模板7、窗口平滑拖动8、拖动事件9、其他功能(1)适应MinWidth、MinHeight(2)适应MaxWidth、MaxHeight(3)适配任意dpi二、完整代码三、使用示例0、基础功能(1)、引用命名空间(2)、使用附加属性(3)、窗口注意事项1、DragResize2、