- 博客(52)
- 资源 (11)
- 收藏
- 关注
原创 附加属性和依赖属性
依赖属性可以提供数据绑定、样式、动画等功能,如果控件本身未提供而我们需要一些这样的功能,就需要编写依赖属性。依赖属性DP是控件/类的静态字段(只能在控件自身的类中编写),并且它只存在于依赖对象上(通过全局的静态HashTable存储这些控件/类的依赖属性)。附加属性是针对已有控件无法编写它的类,就没法为它添加依赖属性,需要将某些属性通过外在方式附加在该控件上,这也就决定了附加属性可以用在多种控件上。
2024-03-07 12:06:32 382
原创 Log4Net 工具二次封装
log4net是一个高度灵活且强大的日志记录库,可用于记录应用程序的运行时信息。它支持各种日志输出格式和目的地,如文件、数据库、控制台等。传统用法我们需要手动配置log4net.config文件,这极大不利于我们对日志文件的管理和分类,今天就介绍一种封装方法,可以便于我们利用代码动态生成配置和创建日志文件并记录日志信息。
2024-03-05 15:58:31 306
原创 Newtonsoft.Json
Newtonsoft.Json是一款高性能Json序列化和解析工具,开源免费!它使得配置文件的保存和读取变得简单,提供对类属性和字段的序列化控制,以及在序列化过程中或完成后执行相应的方法。
2024-02-29 18:31:05 1166
原创 行为和触发器
行为是高度可定制的独立类型,它为所属控件类型提供操作模式,但不局限于某一个控件。控件的界面逻辑大都可以被认为是行为,如TextBox被聚焦后自动权限、鼠标悬浮时背景变红色等。
2024-02-22 17:16:20 430
原创 可观测集合 ObservableCollection<T>、BindingList<T>
WPF中经常使用的是集合类型,数据条目经常按集合类型进行保存收纳,当我们向用户公开一些命令:添加、删除或刷新整个列表,如何通知界面进行准确的刷新呢?这时我们就需要使用可被观测的集合 ObservableCollection、BindingList。
2024-02-18 15:11:11 1008
原创 ElementName与RelativeSource局限性
xaml代码中属性的绑定主要是通过元素名或类型进行查找绑定和解析的,但是当在后台生成控件或面对popup、menuitem时,发现他们都查找不到这时为什么呢?
2024-01-27 17:08:27 330
原创 ValueConverters.NET
该工具包提供一些常用的值转换器,如布尔值、数值、字符串、空类型、可见性、枚举值、日期等相互转换,此外还提供了ValueConverterGroup,用以串联值转换器实现最终的转换目标。
2024-01-27 15:30:10 300
原创 数据验证方法补充ValidationRule、ValidationAttribute
除了使用CommunityToolkit.Mvvm工具包的ObservableValidator,.Net 抽象类VlidationRule也可以让我们实现自定义验证方法,但验证很受限,只能对当前值进行判断,无法获取对象的上下文。
2024-01-27 14:57:04 192
原创 System.Threading.Channels 高性能异步队列
System.Threading.Channels 是.NET Core 3.0 后推出的新的集合类型, 具有异步API,高性能,线程安全等特点,它提供一个异步数据集合,可用于生产者和消费者之前的数据异步传递。instances.提供通道的行为控制 有限通道提供创建通道的静态方法T泛型通道,写入和读取方类型都为 TTReadTWrite泛型通道,分别指定写入和读取方的类型通道在关闭后被调用时会抛出此异常提供通道的行为控制通道读取方的基类通道写入方的基类提供通道的行为控制 无限制通道。
2024-01-24 18:36:39 932 1
原创 CommunityToolkit.Mvvm支持环境
CommunityToolkit.Mvvm 包(又名 MVVM 工具包,以前称为)是一个现代、快速和模块化的 MVVM 库。此包面向 .NET Standard,因此可在任何应用平台上使用:UWP、WinForms、WPF、Xamarin、Uno 等;并且可在任何运行时上使用:.NET Native、.NET Core、.NET Framework 或 Mono。
2024-01-24 17:03:03 1008
原创 CommunityToolkit.Mvvm
MVVM 工具包包含全新的 Roslyn 源生成器,有助于在使用 MVVM 体系结构编写代码时大幅减少样板。这意味着,在编写代码时,MVVM 工具包生成器现在将负责在后台为你生成其他代码。利用特性可以自动后台生成冗余代码,根据字段自动公开一个首字母大写的属性,可供View绑定使用。
2024-01-24 11:21:52 489
原创 Winform制作的用户界面在高DPI下缩放问题
引言熟悉Winform的小伙伴应该都遇到过 在100%缩放下制作的用户界面在其他缩放百分比下会出现字体超出边框的情况,导致用户体验大打折扣。用户程序DPI感知是默认打开的,此时可以通过关闭这种感知来禁用字体的缩放,在这种情况下,用户界面会以一种图像放大或缩小的形式来实现缩放,而不是通过内容 如字体大小实现缩放。可能出现的缺点:界面一定程度的模糊。
2023-07-30 03:02:16 1241
原创 Gitlab 访问令牌更新 替换
访问令牌到期后如何丝滑更换,或则如何更改账户的访问令牌实现权限变动呢?在我们使用访问令牌克隆项目之后,Windows凭据就帮我们记录下了密码。当然密码是不可见的,只能进行删除重新设置,通过凭据管理器进行更改。
2023-06-27 11:32:05 1747
原创 Gitlab保护分支与合并请求
熟悉了Git工作流之后,有几个重要的分支,如Master(改名为Main)、Develop、Release分支等,是禁止开发成员随意合并和提交的,在此分支上的提交和推送权限仅限项目负责人或维护人员。开发人员如果功能模块测试完善,后可提交合并请求,让维护人员进行审批、代码合并。
2023-06-27 11:25:34 3971 1
原创 Gitlab 双重认证和访问令牌的使用
双重认证可以提高用户账户的安全性,防止密码泄露,他人随意登录。访问令牌就相当于项目或群组的访问密码,有了它就可以克隆项目。同时访问令牌有自己的有效期限和权限,群组或项目管理员可以根据需要设置不同权限和时间的访问令牌供不同的项目或群组成员使用。此外,访问令牌仅在首次创建后可见,关闭页面后只能查看到令牌的使用情况和删除令牌。在使用令牌克隆项目之后就不需要再输入访问令牌了,针对该项目的推送和拉取实现。负责人需要妥善管理好访问令牌,做好保密措施。建议每6个月定期更新。
2023-06-27 10:54:39 3391
原创 Gitlab将本地代码推送到远程空仓库
如果我们的本地代码想上传到公司内部的服务器,首先我们需要在VS2022中创建Git仓库,然后设置远程仓库的地址,才能将本地代码推送到远端。在远端会根据你本地的分支名称新建分支或合并到已有分支中。同时,可以设置多个远程服务端,在公司内部使用内网推送,出差在外使用外网推送。
2023-06-27 10:29:00 1830
原创 Gitlab群组及项目仓库搭建
回顾一下Git工作流,工程人员只需要从Develop分支新建自己的分支即可。分支命名以姓名命名:姓名首字母大写 如:Zhangsan、Lisi。,开发人员只需针对本分支进行提交推送即可。对于合并请求,需要在网页中。在发起合并请求菜单中选择审批人:一般为项目管理员。可以添加成员并邀请ta进项目组。双击远程服务器属于自己的分支。复制克隆地址,克隆到本地。从Develop分支拷贝。从已注册用户列表中选择。
2023-06-19 19:12:22 847
原创 Gitlab 服务器搭建
GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。安装方法是参考GitLab在GitHub上的Wiki页面。
2023-06-19 00:43:46 1171
原创 Git工作流 仓库提交与合并
1. 初始化 master 分支,设置版本号 1.0.0,打标签 v1.0.0@soonfy_1.02. 从 master 分支克隆 develop 开发基础分支3. 从 develop 分支克隆 feature 开发新功能分支4. 在 开发人员 分支开发测试完成后,合并到 develop 分支5. 在 develop 分支测试完成后,合并到 release 分支6. 在 release 分支测试并修改文档后,合并到 master 分支,设置版本号 1.1.0,打标签 v1.1.0@soonfy_2.0。
2023-06-16 16:35:46 1333 1
原创 WinForm 自定义类型属性的设计器支持
通常winform系统类型变量,如 double、string、float等类型属性会被属性窗口自动识别添加,使得我们可以手动输入其值。但如果是自定义类型属性时,属性窗口却会灰掉,无法修改。这时需要自动应以类型转换TypeConverter。
2023-06-15 14:33:31 254
原创 vs Git 本地服务器仓库配置
在局域网中创建本地服务器仓库,开发成员在客户端中克隆项目,并配置忽略文件,仅提交重要代码文件。无法推送时需要修改服务端Config配置,忽略文件不起作用时,更新忽略配置文件。
2023-06-08 11:00:54 1357
原创 Winform控件数据绑定 DataBindings
DataBindings 的出现显然是为了解决后台数据与前端界面的同步问题,通过绑定控件属性与对象属性,解决二者的同步问题
2023-05-09 16:45:05 2507
原创 YOLOV7 :检测测试
速度和精度较之前版本都有很大提高.在5 FPS到160 FPS范围内的速度和精度达到了新的高度,并在GPU V100上具有30 FPS或更高的所有已知实时目标检测器中具有最高的精度56.8%AP。YOLOv7-E6目标检测器(56 FPS V100,55.9% AP)比基于Transform的检测器SWINL Cascade-Mask R-CNN(9.2 FPS A100,53.9% AP)的速度和准确度分别高出509%和2%,以及基于卷积的检测器ConvNeXt-XL Cascade-Mask R-CNN
2022-07-20 11:32:06 681
原创 自定义窗口交互控件 四:放大长宽超过65535 绘制多线段拖动更改
前面解决了缩放的问题,但用PictureBox显示图像时,受到控件大小的限制,图像的最大放大长宽是受限的:65535解决思路:通过虚拟一个PictureBox画布 矩形画布 Canvas RectangleF类型,长宽无限制。
2022-05-06 11:26:55 298
原创 自定义窗口交互控件 三:优化缩放显示
前面通过Picturebox控制图片缩放平移,操作很顺滑,但是放大的时候发现一个问题,放大超过一定尺寸之后画面会非常的卡,可能重绘的面积比较大。解决思路:放大的过程中,如果图像有超出窗口的部分,则把这部分图像给拆切掉,只显示需要的部分。
2022-05-06 09:04:50 150
原创 c# 程序默认最高权限启动
引言在Vista 和 Windows 7 及更新版本的操作系统,增加了 UAC(用户账户控制) 的安全机制,如果 UAC 被打开,用户即使以管理员权限登录,其应用程序默认情况下也无法对系统目录、系统注册表等可能影响系统正常运行的设置进行写操作。这个机制大大增强了系统的安全性,但对应用程序开发者来说,我们不能强迫用户去关闭UAC,但有时我们开发的应用程序又需要以 Administrator 的方式运行来实现文档的写入和创建,如何实现这样的功能呢?配置app.manifest文件为项目添加程序 应.
2021-01-20 20:02:34 539
原创 Pycharm+PyQt5+Pyinstaller图像转换程序打包为exe可执行文件-(2)补充
上一节在打包的时候使用的是虚拟环境,且所有终端操作都是在虚拟环境下完成的,而虚拟环境的根目录也与我自定义的模块属于同级文件夹,因此,避免了很多问题(少踩很多坑),然而欠的终究是要还的,今天我新建了一个项目打包的时候出现各种问题
2020-12-31 11:33:38 208
原创 Pycharm+PyQt5+Pyinstaller图像转换程序打包为exe可执行文件-(1)
根据原图像素的颜色重新绘制另一张图,比如跨五个像素填充一个字,如何保证尺寸大小一致呢?选定宋体中文,字号大小为FontSize,原图像大小为imgW*imgH,可以将我们需要绘制的图看成是一个(imgW/FontSize)*(imgFontSize)大小的文字矩阵.填充文字的时候使用文字循环填充方式,而文字的颜色为原图中相应的颜色. 如文字(x,y)的颜色为image(x*FontSize,y*FontSize)该像素点的颜色.使用pyinstaller进行py界面程序打包,注意一定要使用虚拟环境。
2020-12-30 15:21:40 690
原创 Python常用函数、方法
table 参数应该提供一个转换规则(可以由 str.maketrans('a', 'b') 进行定制,例如 "FishC".translate(str.maketrans("FC", "15")) -> '1ish5')在字符串中自右向左搜索sep参数指定的分隔符,如果找到,返回一个 3 元组 ('在sep前面的部分', 'sep', '在sep后面的部分');在字符串中搜索 sep 参数指定的分隔符,如果找到,返回一个 3 元组 ('在sep前面的部分', 'sep', '在sep后面的部分');
2020-12-29 11:51:50 227
原创 C#配置NuGet包log4Net,生成日志文件
log4net库是Apache log4j框架在Microsoft .NET平台的实现,是一个帮助程序员将日志信息输出到各种目标(控制台、文件、数据库等)的工具。 [1]log4net是Apache软件基金会Apache Logging Services工程的一部分。Apache日志服务工程致力于为程序调试和审计提供跨语言的日志服务。1.安装NuGet包Log4Net:我们打开工具->NuGet程序包安装菜单:搜索log4Net勾选需要安装log4Net的项目,并安装:如下图噻..
2020-12-17 11:45:24 1758
原创 SQLITE语法
一、基本语法创建数据库 : create database basename删除数据库 : drop database dbname创建新表 : create table tablename(col1 type1 [not null] [primary key],col2 type2 [not null],..)创建相似表 :1:create table tab_new like tab_old (使用旧表创建新表)2:create table tab_new as select col1,co
2020-10-26 16:58:07 1212 1
原创 自定义窗口交互控件 :缩放平移
一: 基本控件的布局1.首先,我们先新建一个UserControl自定义控件,拖拽一个Panel容器至界面窗口,Dock停靠模式选择Fill,即我们将画面填满容器.2.然后,再拖拽一个PictureBox至上一步的Panel容器内部,同样的Dock停靠模式选择Fill.3.选择一张好看的图给PictrueBox的image属性赋值.全都做好后,如下图所示啦二: 交互事件原理及编写原理:整体框架是通过对picturebox的位置和大小变换实现图像的平移及缩放操作.而panel作为父.
2020-10-26 15:50:39 1255
log4net二次日志封装.zip
2024-03-05
YOLOv7 从GitHub上下载下来的代码,根据之前的5版本对比debug了一下,可以测试本地视频了
2022-07-19
c# Winform 自定义控件 缩放不卡顿。最大可放大至65535。ROI绘制 矩形 圆形 ROI修改
2022-05-06
c# Winform 自定义控件 8K大图显示,无限比例放大。ROI绘制 矩形 圆形 任意多边形,ROI修改
2022-05-06
pyqt5_tools-5.9.2.1.3-cp36-none-win_amd64.whl
2020-12-30
PyQt5-5.9.2-5.9.3-cp35.cp36.cp37-none-win_amd64.whl
2020-12-30
tensorflow_gpu-2.0.0-cp36-cp36m-win_amd64.whl
2020-07-30
EditPlus V2.12_改Liunx文件编辑器
2018-11-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人