自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(68)
  • 问答 (1)
  • 收藏
  • 关注

原创 调试软件MMI

2025-12-08 13:55:28 70

原创 ACS知识中心

本地版路径。

2025-12-08 10:38:20 147

原创 Prism事件聚合器

在构造函数或其他初始化方法中获取 IEventAggregator 实例,并调用 GetEvent() 方法来获取特定类型的事件对象,然后调用 Subscribe() 方法订阅该事件。获取 IEventAggregator 实例,并调用其 GetEvent() 方法来获取特定类型的事件对象,然后调用 Publish() 方法发布事件。创建一个继承自 PubSubEvent 的事件类,其中 T 是你要传递的数据类型。

2025-09-17 22:25:53 182

原创 Prism模块化和对话服务

1。文档:官方地址:http://prismlibrary.com官方源码:https://github.com/PrismLibrary/Prism使用Prism框架:区域:模块化:导航深入:(导航传参,导航确认(路由守卫),导航日志)

2025-09-17 21:26:48 1061

原创 WPF Prism框架

Region(区域管理):原来在其他MVVM框架中通过这两个控件可以放置Page|UserControl等来实现。在Prism框架通过区域管理来实现导航相关功能。Prism Template项目模板,是一个插件Prism Template Pack,安装之后,可以使用此模板创建Prism项目。核心:RegionManager区域管理器;RegionName 是该区域的名称。通过普通的WPF模板改写,不推荐。一般在学习当中,研究时可以研究一下。

2025-09-16 21:50:34 385

原创 将普通Wpf项目改成Prism项目

【代码】将普通Wpf项目改成Prism项目。

2025-09-16 19:59:38 268

原创 WPF中使用Font Awesome

在App.xaml文件里定义字体资源,这样整个应用程序都能使用。解压文件选择如下文件。

2025-09-12 19:47:42 138

原创 在WPF项目中使用阿里图标库iconfont

pack://application:,/Fonts/#iconfont:这是WPF里用于引用项目资源的URI格式。Fonts为字体文件所在的文件夹,iconfont是字体的名称。FontFamily=“{StaticResource IconFont}”:引用之前在App.xaml里定义的字体资源。Text=“”:这里的是IconFont平台上对应图标的Unicode编码。注意#iconfont,不能加文件后缀名,必须以#开头。如果路径不对,出现小方块,表示xaml没有正确解析unicode图标。

2025-09-12 14:42:37 457

原创 MVVM模式下处理密码输入,保持密码的安全性

当设置为True时,会触发PasswordBoxHelper类中的Attach方法,为PasswordBox添加PasswordChanged事件处理程序。将PasswordBoxHelper定义的附加属性Password绑定到ViewModel中的Password属性。Mode=TwoWay 表示双向绑定(UI变化会更新ViewModel,ViewModel变化也会更新UI)解决WPF原生PasswordBox控件的Password属性不能直接进行数据绑定的问题。这行代码建立了双向数据绑定。

2025-09-09 17:31:49 301

原创 wpf触发器

例如,Value=“False” 表示 IsEnabled 属性的值为 False 时,条件满足。例如,Value=“True” 表示 IsEnabled 属性的值为 True 时,条件满足。MultiDataTrigger 允许你定义多个条件,只有当所有条件都满足时,触发器才会生效。当指定的控件属性值发生变化时,WPF 会重新评估 PropertyTrigger 的条件。MultiTrigger 允许你定义多个属性条件,只有当所有条件都满足时,触发器才会生效。如果不满足,则恢复到其他样式设置或默认值。

2025-09-03 22:09:55 1037

原创 WPF依赖属性和依赖属性的包装器:

依赖属性是WPF(Windows Presentation Foundation)中的一种特殊类型的属性,特别适用于内存使用优化和属性值继承。依赖属性通过 GetValue 和 SetValue 方法进行访问和修改,而不是通过简单的getter和setter,这使得它们可以参与WPF的数据绑定、样式继承等高级功能。// 包装器:把依赖属性AgeProperty包装一下,可以理解成给依赖属性AgeProperty添加一个“外壳”。// 添加“外壳”后让依赖属性用起来和普通属性一个用法。

2025-09-02 20:54:42 287

原创 WPF应用程序资源和样式的使用示例

Application.Resources应用程序资源,资源:【样式】,图片,字体文件,音频,视频等。component/Resources/Dictionary1.xaml 路径来源。行内样式:某个控件可用,某个控件(标签),开始标签中的属性都是行内样式。此处定义的样式,称为全局样式,整个应用程序都可用。在此处定义的资源,是全局性的,整个应用程序都可以共享此资源。局部样式:某个窗体内可用。

2025-09-02 20:41:22 236

原创 WPF启动窗体的三种方式

把App.xaml生成操作选择“无”,即编译App.xaml时不让它产生Main方法。添加特性 [STAThread],原因:WPF中的控件运行需要一个线程安全的环境。// App中定义一个Main方法,WPF默认也提供一个Main方法(在App.g.i.cs这个文件中)。解决:去掉一个Main。// 通过测试发现XXX.g.i.cs(在obj->Debug中可以看见该文件)这样文件不能改动,重新编译后,WPF会重新生成。在App.xaml文件中。在App.xaml文件中。在App.xaml.cs。

2025-09-02 20:21:55 508

原创 C# 中常见的 五大泛型约束

在 C# 中,泛型(Generics)允许你定义类型安全且可重用的代码,而不必指定具体的类型。为了更精确地控制泛型类型的行为,可以使用泛型约束(Generic Constraints)来限制泛型类型参数的类型。泛型约束通过where关键字来实现。以下是 C# 中常见的。

2025-08-25 17:29:50 428

原创 AppConfigHelper

【代码】AppConfigHelper。

2025-08-18 14:51:50 301

原创 解决GitHub无法打开

2025-08-07 10:52:34 505

原创 SqlSugarHelper

【代码】SqlSugarHelper。

2025-08-07 09:11:06 322

原创 C#自定义控件

自定义控件、扩展控件、复合控件继承Control类扩展控件:继承某个具体的控件类,如:Button,Label等复合控件:继承UserControl类,又称用户控件UserControl。即:把多个控件通过组合的形式,形成更大,功能更全的控件。完全自定义控件继承Control,不是继承UserControl,VS2022中没有提供定义完全自定义控件的模板。1.方法1:通过用户控件,改写成完全自定义控件。2.方法2:通过组件,改写成完全自定义控件。通过用户控件改写后,把错误修复一下即可。

2025-07-14 22:21:47 1498

原创 解决重绘时闪烁的问题

/ 简写:把ControlStyles多个枚举项都设置成true。ControlStyles枚举项逐个设置,解决重绘时闪烁的问题。

2025-07-14 19:13:40 434

原创 EF提高性能(查询禁用追踪)(关闭延迟加载)

3.导航属性应定义为public virtual xxx,如果属性未定义为virtual,则Context不会进行延迟加载。1.context.Configuration.ProxyCreationEnabled应为true。EF默认是支持延迟加载的,在加载一个表的数据时,会把关联表的数据一并加载,这样会影响性能。一般建议关闭延迟加载可以提高EF加载的性能。// 如果禁用延迟加载后,又想同时加载关联表,怎么办呢?使用Include()如果要实现延迟加载,必须满足下边三个条件,缺一不可。

2025-07-09 21:36:48 441

原创 C#扩展方法

一个类Student没有父类,默认继承Object,所以Student的实例s能访问的方法,其实是Object里面的对象的方法。扩展方法使您能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。扩展方法:一个对象(比如:一个类)有一些核心方法。通过扩展方法向类的实例中扩展方法。扩展方法的第一个参数一般是扩展的对象。3.此方法的第一个参数必须以this开头,并且指定此方法是扩展自哪个类型。2.此方法必须放在非泛型静态类中。1.此方法必须是一个静态方法。

2025-07-09 16:04:05 247

原创 C# EF实体框架

实体框架(Entity Framework)是一种对象关系映射器(O/RM),它使.NET开发人员能够通过.NET对象来操作数据库。它消除了开发人员通常需要编写的大多数数据访问代码的需求。ORM框架有个优势:解放开发人员编写数据库操作逻辑,把关注点转移到业务逻辑。提高开发效率。(开发快,节省成本。EF是微软官方在推广的一个重要ORM框架。

2025-07-08 20:28:36 772

原创 C#Winform窗体显示模糊的问题

【代码】C#Winform窗体显示模糊的问题。

2025-07-08 17:01:03 294

原创 SQL聚合函数

use BookDB。

2025-07-03 21:02:04 320

原创 winfrom用代码操作 DataGridView

摘要:本文介绍了C#中DataGridView控件的常用自定义设置方法,包括修改列标题、调整列宽和行高、添加操作列等。重点展示了通过CellPainting事件绘制操作按钮(如删除、编辑等)的技术实现,包括文本测量、区域划分和自定义绘制流程。同时提供了CellMouseClick事件处理来响应按钮点击操作。这些方法可以帮助开发者灵活定制DataGridView的显示效果和交互行为。

2025-07-03 21:01:44 383

原创 SQL变量声明与赋值 分支 循环

– 变量 分支 循环– declare 变量名 数据类型– declare 关键字,作用声明变量– 变量名:以@开头– 数据类型:数据库中支持的数据类型:int varchar(n) text char(n) nvarchar(n)– 定义多个变量– 变量赋值,仅支持给一个变量赋值– 查看变量赋值的结果– 以为表格方式 查看变量赋值– 多个变量赋值,执行多次setuse BookDB– 将查询结果直接赋值给变量,注意:如何有多个记录,赋值最有一个结果– 同时给多个变量赋值

2025-06-26 20:01:44 594

原创 SQL SERVER存储过程

asbegin -- {-- 这里编写执行逻辑print '开始执行...'print '存储过程执行完毕'end --}---- bug: 如果 存储过程已经存在,执行新建报错触发存储过程。

2025-06-26 20:00:59 1146

原创 C# System.InvalidCastException:“指定的转换无效。”

先移除事件,更改之后再添加事件。

2025-06-25 21:01:15 166

原创 C# LINQ语法

LINQ(Language Integrated Query)是C#语言中的一个强大功能,开发者可以使用类似SQL的查询语法,直接在C#代码中对各种数据源进行查询操作。LINQ的设计目标是提供一种统一的查询方式,无论数据源是数组、集合、数据库还是XML文档。

2025-06-25 21:00:46 684

原创 T-SQL操作SQLSERVER——基本语法

database_id 列名称– where 筛选条件。and or–database_id 是每个数据库的唯一标识符,系统数据库通常有固定的 ID 值:–master 的 database_id 为 1–tempdb 的 database_id 为 2–model 的 database_id 为 3–msdb 的 database_id 为 4。

2025-06-19 20:08:19 561

原创 0612_正则表达式

C# 中的正则表达式是通过命名空间下的Regex类来实现的。正则表达式是一种强大的文本处理工具,用于搜索、匹配、替换和验证字符串中的模式。。

2025-06-12 20:28:50 511

原创 C#对象的本地保存

摘要 本文介绍了对象本地保存的三种方法:文本文件存储、二进制序列化和JSON序列化。对象在内存中的特性决定了程序关闭后对象状态会丢失,因此需要将对象属性保存到文件中。文本文件存储通过StreamWriter/StreamReader读写,但存在顺序依赖问题。二进制序列化使用BinaryFormatter将对象转换为二进制流,需要[Serializable]标记。JSON序列化提供了轻量级文本格式,展示了原生DataContractJsonSerializer和第三方Newtonsoft.Json两种实现方式

2025-06-12 15:29:17 683

原创 C#设计模式

C#常用设计模式摘要(150字): 本文介绍了C#中五种创建型设计模式:1) 单例模式确保类唯一实例,适用于全局对象;2) 工厂模式封装对象创建逻辑,通过统一接口生成不同产品;3) 抽象工厂创建产品族,无需指定具体类;4) 建造者模式分离复杂对象的构建与表示,支持多样化配置;5) 原型模式通过克隆而非新建来复制对象。每种模式均包含C#代码示例和典型应用场景,如日志系统、配置管理等。这些模式可有效提升代码复用性和灵活性。

2025-06-10 18:53:46 1377

原创 0610_特性和反射_加密和解密_单例模式

Obsolete。

2025-06-10 18:52:48 842

原创 图表控件及图表库

LiveCharts2 现在几乎可以运行在任何平台,支持Maui,Uno Platform、Avalonia、Etoforms、Xamarin、Blazor-wasm、WPF、Winforms、WinUI、UWP等。LiveCharts2 提供了折线图、饼图、柱状图、散点图、面积图等多种类型的图表。LiveCharts2 是LiveCharts(0)的升级,它修复了前身的主要设计问题,专注于在任何地方运行,在不丢失V0中已有的特性情况下提高了灵活性。可参考:【livechart2可绘制的图类型.png】

2025-03-27 16:37:37 577

原创 C#进阶(多线程相关)

NET Framework2.0时代,出现了一个线程池ThreadPool,是一种池化思想,如果需要使用线程,就可以直接到线程池中去获取直接使用,如果使用完毕,在自动的回放到线程池去;多线程是指程序中包含多个执行流(线程),即在一个程序中可以同时运行多个不同的线程来执行不同的任务,也就是说允许单个程序创建多个并行执行的线程来完成各自的任务。【一条线程指的是进程中一个单一顺序的控制流】,一个进程中可以并发多个线程,每条线程并行执行不同的任务。多线程中有N个线程,但主线程只有一个,其他的线程都称为分线程。

2025-03-18 20:39:16 2202

原创 JSON 序列化 反序列化

其实就是转换数据格式的过程。

2025-03-15 15:25:00 1619

原创 C#特性和反射

主要让开发者在自定义特性时,控制自定义特性的应用范围,掌握预定义特性 AttributeUsage 描述了如何使用一个自定义特性类。它规定了特性可应用到的项目的类型。其中:参数 validon 规定特性可被放置的语言元素。它是枚举器 AttributeTargets 的值的组合。默认值是 AttributeTargets.All。参数 allowmultiple(可选的)为该特性的 AllowMultiple 属性(property)提供一个布尔值。如果为 true,则该特性是多用的。

2025-03-14 18:12:19 1139

原创 C#委托和事件

平时用户自定义委托的机会不太多,一般都使用C#自带的委托:2.如何定义委托?使用delegate关键字定义观察一下:委托和方法的形式的区别:a. 没有方法体 b. 方法返回值前多一个delegate关键字。可以没有返回,可以没有参数。在类内部,在类外部, 但不能在方法内部定义一个事件。使用event关键字。EventHandler委托类型 MyClick就是委托实例,即事件变量。// 默认值null类内部,不能在方法内部。

2025-03-12 22:12:55 982

原创 C# N层思想

主要负责数据库中对象(表,视图,存储过程等)的映射,将来在C#语言中操作Model就相当于操作了数据库中的对象。

2025-03-11 19:45:11 213

Prism模块化演示m

Prism模块化演示m

2025-09-17

WPF Prism框架Prism核心内容

WPF Prism框架Prism核心内容

2025-09-16

WPF + CommunityToolkit.Mvvm + EF + SQLServer + HandyControl+RBAC

WPF + CommunityToolkit.Mvvm + EF + SQLServer + HandyControl+RBAC

2025-09-15

C# wpf MVVM框架 MvvmLightDemo

C# wpf MVVM框架 MvvmLightDemo

2025-09-08

WPF手写MVVM压缩资源

WPF手写MVVM压缩资源

2025-09-06

WPF静态资源与动态资源,触发器

WPF静态资源与动态资源,触发器

2025-09-03

C# LINQ语法 LINQ 实战

C# LINQ语法 LINQ 实战

2025-06-25

C#多线程和异步方法的研究

C#多线程和异步方法的研究

2025-03-24

示例数据库备份BankSystem

示例数据库备份BankSystem

2025-03-11

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除