- 博客(320)
- 资源 (20)
- 收藏
- 关注

原创 wpf 保姆级教学 OxyPlot制作图表+AutoFixture模拟数据 示例
功能: 初始化图表的主要设置,包括创建 PlotModel 对象,初始化 X 轴和 Y 轴,添加目标线和目标点,并将它们添加到图表模型中。调用 InitGoalLine() 和 InitGoalPoint() 方法来初始化目标线和目标点。调用 InitX() 和 InitY() 方法来初始化 X 轴和 Y 轴。创建一个 LineSeries 并将其添加到 ChartModel 中。将 X 轴和 Y 轴添加到 ChartModel 中。将目标点和目标线添加到 ChartModel 中。
2024-11-05 15:31:24
857

原创 wpf 保姆级教学 制作丝滑浮动菜单(缩放按键)(基于MahApps)
<mah:MetroWindow x:Class="MyControlsTest.ToolBoxView" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blen
2024-11-05 09:03:37
979

原创 wpf 保姆级教学 制作丝滑浮动菜单(旋转按键)(基于MahApps)
ExpandStoryboard: 用于展开 CtrlGrid 的宽度。CollapseStoryboard: 用于折叠 CtrlGrid 的宽度。IconStoryboard: 用于旋转 PackIconFileIcon 图标。代码解析
2024-11-05 08:54:06
1371
1
原创 wpf windowController实现全局窗口管理
windowKeyNamewindowKeyNametypeofTNamewindowKeyNamewindowKeyNameexMessage上面代码定义了一个名为的类,主要职责是管理和控制窗口(Window)的注册、获取和注销。
2025-02-07 09:26:51
538
原创 c# Lazy<T>单例模式 - 延迟初始化单例实例示例与详解
是 C# 中用于延迟初始化的类,它允许你在第一次访问对象时才创建实例,而不是在程序启动时就创建实例。这在单例模式中非常有用,因为它可以避免不必要的资源消耗。如果不需要线程安全,可以指定。的构造函数接受一个委托(),用于定义如何创建实例。
2025-02-07 09:15:08
604
原创 c# 7.0模式匹配示例与详解
在 C# 7.0 中,模式匹配(Pattern Matching)功能得到了显著增强,主要引入了is表达式和switch语句的模式匹配扩展,使得代码更简洁、可读性更强。
2025-02-07 09:03:21
264
原创 wpf 窗口联动,实现贴合的可隐藏侧边栏效果
这段 XAML 代码定义了一个基于 的窗口,使用了 MahApps.Metro 框架的控件和样式,主要实现了一个带有特定布局和功能的窗口视图。以下是对这段代码的详细分析:命名空间::引用 MahApps.Metro 控件库。:引用 MahApps.Metro 的图标库(PackIconFontAwesome)。功能总结内容:按钮功能:动态行为:窗口联动: 方法该方法根据 的值来决定是展开还是收起视图。如果 为 ,则调用 方法将 移动到主窗口的右侧,并显示它。然后
2025-02-05 10:56:51
897
原创 wpf 全网最全!窗体(Windows)的常见事件及其详细解释
sender和e。这两个参数在事件处理过程中起着关键作用,分别提供了事件的触发源和事件的详细信息。下面详细解释这两个参数的用途和使用方法。sender是一个object类型的参数,表示触发事件的对象。e是一个继承自EventArgs或其派生类的对象,表示事件的详细信息。
2025-01-22 11:27:37
980
原创 c# 动态加载模块插件示例
代码结构分析:类定义和成员变量: 方法的详细分析:文件存在性检查:首先检查 指向的文件是否存在,如果不存在,将 (未在代码中声明,会导致编译错误)设置为 并返回,结束方法执行。这里可能遗漏了 的声明。清空字典:清空 字典,以确保在重新加载时不会残留之前的数据。程序集加载和类型筛选:使用 从指定的 DLL 路径加载程序集。通过 获取程序集中的所有类型,并使用 筛选出实现了 接口的类型。属性检查和实例创建:对于筛选出来的每个类型,使用 获取该类型的 集合。如果
2025-01-20 17:20:00
423
原创 c# 常见的几种取整场景
软件取整,通常指的是在计算机软件中对数值进行取整操作,即将一个浮点数或小数转换为整数,同时确定如何处理小数部分。取整操作在编程和数学计算中非常常见,不同的取整方法适用于不同的场景。
2025-01-09 10:48:46
635
原创 c# 快捷键模块
这段代码是 OnSourceInitialized 方法的重写,用于在窗口的 SourceInitialized 事件触发时注册热键。SourceInitialized 事件在窗口句柄创建后立即触发。的命名空间中,其中包含一个静态类。,用于管理热键的注册和注销。
2024-12-31 15:38:12
662
原创 c# Record关键字
在 C# 9.0 中引入了 关键字,用于定义记录类型(Record Types)。记录类型是一种轻量级的数据载体,专注于表示数据,它提供了内置的相等性比较、生成属性和方法等功能,使得编写数据类更加简洁和高效。记录类型的声明非常简洁,基本语法如下:这会生成一个包含 、 和 属性的记录类型,并自动提供构造函数、、 和 方法。可变记录:可以通过在记录类型后添加 关键字来创建可变记录,允许修改属性。例如:构造函数和初始化记录类型自动生成构造函数,可以直接通过属性初始化:相等性比较记录类型根
2024-12-31 15:32:01
644
原创 wpf 重绘一个浮动的圆形按钮
<Window x:Class="DataParser.FlowView" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
2024-12-28 15:28:09
1391
原创 wpf 基于Behavior库 的行为模块
是一个用于WPF(Windows Presentation Foundation)的行为库,它的主要作用是允许开发者在不修改控件源代码的情况下,为控件添加自定义的行为和交互逻辑。行为库的核心思想是通过定义可重用的行为组件,将交互逻辑与UI控件解耦,从而提高代码的可维护性和可复用性。
2024-12-28 15:17:45
1304
原创 c# 不同数据类型转换
将输入的字节数组转换为表示其每一位的二进制字节数组,每个字节按位展开为8个二进制位存储在新的字节数组中。按照指定的块大小(默认块大小为2)对字节数组中的数据块进行反转顺序操作,例如每2个字节一组进行反转。将二进制字节数组转换为十六进制字节数组,按照一定的位运算规则将8位一组的二进制转换为十六进制表示。把二进制字节数组转换为十进制整数,通过对二进制位对应的2的幂次进行累加来实现转换。将字节类型数据转换为十六进制表示的字符串,进行格式化为固定长度并转换为大写形式。编码进行转换,否则按指定编码转换。
2024-12-23 16:39:28
908
原创 c# 实现一个简单的异常日志模块(异常迭代+分片+定时清理)+AOP Rougamo全局注入
特性标记的方法或类,都会在抛出异常时自动调用。这意味着在这个类中,所有被。
2024-12-23 16:28:33
1266
原创 C# HandyControl 官方示例 保姆级从0到1搭建学习流程
调试按钮那里,点下拉菜单,框架选择 net8.0-windows 就可以了。5.即可正常运行,具体每一项控件的示例代码在。Git Clone 或直接下载源码。Debug那个下拉菜单选择。
2024-11-26 14:07:12
653
原创 wpf 制作丝滑Flyout浮出侧边栏Demo (Mahapps UI框架)
【代码】wpf 制作丝滑Flyout浮出侧边栏Demo (Mahapps UI框架)
2024-11-04 08:58:12
466
原创 c# checked 和 unchecked 关键字
在 C# 中,checked 关键字用于启用整数运算的溢出检查。默认情况下,C# 的整数运算不会自动进行溢出检查,这意味着如果发生溢出(即结果超出了数据类型的表示范围),程序会继续运行,但结果可能是不正确的。使用 checked 关键字可以在编译时或运行时捕获这些溢出,并抛出 System.OverflowException 异常.using System;class Program{ static void Main() { try {
2024-10-31 08:53:23
299
原创 c# 实现文件更新通知
类监视文件或目录的更改,一旦检测到更改,就可以触发相应的事件并通知软件。以下是一个简单的实现示例,展示如何监视指定目录中的文件更新,并对此作出反应。:文件或目录已重命名。:文件或目录已更改。:文件或目录已创建。:文件或目录已删除。
2024-10-30 13:31:03
380
原创 c# dotnetCampus.Ipc System.NotSupportedException:“因为编译时没有生成“IFoo”接口的 IPC 代理与对接类,所以运行时无法创建它们的实例
System.NotSupportedException:“因为编译时没有生成“IFoo”接口的 IPC 代理与对接类,所以运行时无法创建它们的实例。请确保使用 Visual Studio 2022 或以上版本、MSBuild 17 或以上版本进行编译。使用dotnetCampus.Ipc,直接导入dll,运行报错。分析器缺失,需要在.csproj文件中导入。
2024-10-24 16:59:46
196
原创 VS 插入跟踪点,依赖断点,临时断点的区别
跟踪点: 用于记录信息而不暂停程序执行,适合监控和日志记录。依赖断点: 依赖于特定条件触发,适合复杂的调试场景,提供精细的控制。临时断点: 一次性触发后自动删除,适合单次检查的场景。
2024-10-24 10:25:20
355
原创 c# grpc 保姆级教学搭建grpc框架 服务端、客户端
通过自动生成 protobuf 文件,可以减少手动编写和维护定义的出错几率,提高开发效率。根据给定类型中定义的公共实例方法生成服务(service)定义。每个方法被转换为相应的 RPC 调用,其中请求和响应类型也被处理为 protobuf 类型。根据传入的类型生成对应的消息(message)定义。它遍历该类型的所有公开属性,并为每个属性生成一行定义。接受一个类型 (Type)、一个类型数组 (Type[]) 和输出路径,生成定义该类型及其属性的 proto 文件。生成对应的.proto文件。
2024-10-23 15:30:11
935
1
原创 VS 解决方案里面.vs文件夹
vs文件夹在VS解决方案中扮演着重要角色,它帮助用户保存和恢复工作配置,提高开发效率。然而,由于它包含的是用户特定的配置信息,因此在团队开发中,通常建议将这个文件夹加入版本控制系统的忽略规则中,以避免不必要的同步问题。VS会自动重新生成该文件夹,但之前的工作配置及记录将会丢失,相当于用户第一次打开该项目。:.vs文件夹中包含用户的某些自定义配置,如开发环境的个性化设置等。:该文件夹还保存了用户的操作记录,如打开的文件文档等。VS解决方案中的.vs文件夹主要用于存储当前用户在解决方案中的工作配置。
2024-10-19 13:44:18
881
原创 c# FrozenDictionary
是 .NET 7 中引入的一个集合类型,它结合了字典的高效查找功能和不可变集合的特性。FrozenDictionary 提供了在创建后不可修改的字典,同时也优化了查找性能。
2024-10-11 14:59:09
619
原创 c# init
在 C# 9 中引入的init访问修饰符是一项新特性,它允许对对象的属性进行初始化,但在对象创建后则无法修改。这种方式提供了一种更安全的方式来创建不可变对象(immutable objects)。
2024-10-10 15:35:38
634
原创 c# 可空引用类型
在 C# 中,引用类型默认是可为空的,这意味着它们可以被赋值为 null。而可空引用类型的引入允许开发者明确指定某个引用类型是否可以为 null,从而提高代码的安全性和可读性。
2024-10-10 15:17:31
722
1
原创 c# using 声明进行资源管理
在 C# 8 中,using 声明引入了一种新的语法,称为 using 声明,它使得开发人员在处理资源时的代码更加简洁和清晰。在上面的示例中,resource 对象在声明时自动释放,当其离开。时,无需显式地写出 Dispose() 调用。
2024-10-10 14:43:20
591
原创 c# gobal using
在 C# 10 及以上版本中,引入了 全局 using(Global using)特性,这允许开发者在项目级别声明 using 命名空间,从而简化代码的书写和维护。全局 using 的主要作用是提高代码的可读性和减少重复声明。全局 using 的声明方式可以使指定的命名空间在整个项目中可用,而不需要在每个文件的顶部重复书写。这对于大型项目尤为重要,因为它们往往包含多个文件,并使用许多相同的命名空间。
2024-10-10 14:09:14
960
原创 wpf 使用Oxyplot 库制作图表示例
方法:负责初始化图表模型,包括设置图表的样式、坐标轴、系列和注释。这个方法包括多个 Init 方法的调用,表示图表的初始化过程可以分步骤进行。使用了 protected 修饰符来保护图表的各个部分(如 X 轴、Y 轴、系列等),允许子类访问和修改。方法:向图表中添加点,并更新 Y 轴的最大值。方法:当前未实现,但预留了子类进行重写。是公开的,只读属性,返回当前的图表模型。也是公开的,只读属性,返回目标线的集合。方法:分别初始化 X 和 Y 轴。方法:清空图表中的点并重新绘制。
2024-09-14 13:40:58
1270
原创 Git 提取和拉取的区别在哪
操作说明:Pull 操作是 Fetch 和 Merge(或 Rebase)的组合。首先,它会从远程仓库下载最新的提交和分支信息,然后将这些更改合并到你当前的分支中。这意味着你的本地分支会被更新为远程分支的最新状态。操作说明:Fetch 操作会从远程仓库下载最新的提交、分支信息等,但不会将这些更改合并到你当前的分支中。它只是将远程仓库的更新信息存储在本地,并不会自动修改你当前的工作区。
2024-09-12 15:48:42
1462
原创 Visual Studio 卸载和移除项目的区别
卸载项目 是将项目从当前解决方案中暂时移除,但项目文件仍然保留在磁盘上。这个操作不会删除项目文件,只是将项目从解决方案的视图中移除。卸载项目通常用于不再需要频繁访问或编译该项目时,或当你需要解决方案中包含许多项目而暂时不想编译某些项目时。项目将从解决方案中消失,但可以随时通过右键点击解决方案,选择“重新加载项目”来将其重新添加回解决方案中。卸载后,项目不再参与编译和调试,但项目文件和内容仍然存在于你的文件系统中。右键点击解决方案资源管理器中的项目,选择“卸载项目”。
2024-09-02 09:18:06
1142
原创 c# new 关键字与现象不符合问题 场景:使用子类的字段覆盖父类的字段
如果你需要在基类和派生类中使用相同的字段名但又希望能够访问不同的字段,请考虑使用属性、不同的字段名,或者设计合适的虚方法来实现你的需求。如果你在派生类中使用 new 关键字隐藏了基类中的成员,那么派生类中的方法将不会覆盖基类中的方法,而是隐藏它们。字段的隐藏机制(使用 new 关键字)是为了避免在派生类中无意中访问基类字段。当你使用 new 隐藏基类成员时,这意味着派生类中的同名成员不会与基类中的成员产生多态性关系。关键字隐藏基类字段。如果需要在派生类中提供不同的字段,考虑使用不同的字段名,或者使用属性(
2024-09-02 09:08:18
710
原创 c# 元组
在 C# 中,元组(Tuple)是一种用于存储多个值的数据结构,它可以方便地将不同类型的多个值打包在一起。元组在 C# 7.0 及更高版本中得到了增强,允许更方便地创建和操作。元组可以通过以下几种方式定义:使用 C# 7.0 引入的简洁语法(推荐):元组的使用示例访问元组的元素对于使用内置 Tuple 类创建的元组,你可以使用 Item1、Item2 等属性访问元素:对于 C# 7.0 的元组,使用命名字段:解构元组你可以将元组解构为多个变量:
2024-08-15 08:07:17
429
24年最新版:WPFhalcon源码vm视觉和运动控制软件框架源码,全网最新(带ui设计器和轴卡运控),WPF MVVM开发模式
2024-01-07
WPF Halcon机器视觉和运动控制软件框架 基于原有框架上二次开发
2023-12-20
c# 全网最稳定 企业级 以太网客户端类库 具备即时更新状态,断线三次重拨,稳定收发
2023-08-10
基于NPOI封装的ExcelHelper操作类,简单易用,具体流程详见博客
2023-05-22
C# wpf 根据数据库一键生成大量模型类(支持sqllite、Access、Sqlserver)源码
2023-03-19
C# wpf 根据数据库一键生成大量模型类(支持sqllite、Access、Sqlserver)全网独家 可使用软件不带源码
2023-03-19
C# 实现模拟PID调试(无硬件下进行数据模拟调试)
2022-12-07
Python 将文件夹内所有pdf转换为图片输出到指定文件夹中的小软件
2021-11-12
Python 一键生成exe文件
2021-04-28
Python 批量复制文件夹,不复制里面的内容
2021-04-28
opencv python 学习人脸识别Demo
2021-04-22
统计文件夹内所有pdf页数的小工具.exe
2021-03-03
C语言链表例子(自己写的)
2020-12-01
C# winform串口助手(自己写的)
2020-12-01
C# 二分法例子(自己写的)
2020-12-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人