- 博客(228)
- 资源 (23)
- 收藏
- 关注
原创 【WPF】图片剪裁-ImageCropping
机缘巧合吧,当时在全网寻找图像剪裁工具,但大都不能满足需求,于是决定动手写。当然如果只是为了完成这么一个功能就没有必要记录了,主要是不依赖与第三方图像库,且实现方式简单,自我感觉很有纪念意义。
2024-07-14 17:36:52
1234
原创 【WPF】本地化的另一种实现方式——源生成器
在之前的文章中,我们介绍了使用 WPF 实现本地化的方案,主要包括利用官方推荐的静态资源和 XAML 动态资源的方式。然而,我们也意识到这些方法存在一些显著的缺陷:静态资源的局限性:静态资源无法在运行时实现语言切换,也无法支持设计界面的实时预览,这给本地化带来了一定的不便。XAML 动态资源的挑战:虽然使用 XAML 动态资源能够实现实时预览,但由于并非官方推荐的方式,以及资源管理相对复杂,这也给开发者带来了一些困扰。
2024-05-26 13:41:30
987
原创 【WPF】取色器-Color Extractor
取色器是一个非常实用的小工具,网上也很多可供下载使用。为什么已有却还是想要自己去实现一个呢?一方面是因为工具虽小但毕竟涉及到操作系统 API 的使用。另一方面想要在技术上精进一些。实现思路测试通过 Hook 鼠标左键单击,获取到鼠标位于屏幕坐标位置,再获取当前位置所渲染的颜色。根据鼠标在屏幕中的坐标,获取系统渲染颜色,将颜色转换为对应的格式。订阅鼠标左键点击事件,将鼠标坐标获取到当前程序。
2024-04-20 17:12:22
1305
2
原创 【WPF】使用 WriteableBitmap 提升 Image 性能
由于中所周不知的原因,WPF 中想要快速的更新图像的显示速率一直以来都是一大难题。在本文中,我将分享一些我对于 WPF 领域的经验和见解。虽然我并不是这方面的专家,但是希望通过我的分享,能够为大家提供一些有用的信息和思考角度。
2024-01-07 14:54:16
3016
2
原创 Blazor 混合开发_MAUI+Vue_WPF+Vue
在 MAUI 微软的官方方案是使用 Blazor 开发,但是当前市场大多数的 Web 项目使用 Vue、React 等技术构建,用Blazor重写整个项目并不现实。利用 .NET MAUI 框架可以将 Vue 应用嵌入到 Web 容器中,可以实现跨平台的混合开发。将 dist 文件夹下的所有文件复制到容器项目下的 wwwroot 文件夹下。Vue 是当前流行的 Web 框架, 简单来说是一套模板引擎,利用。第一个参数是容器项目的 Namespace,第二个参数是要调用的方法。导入 namespace。
2023-12-23 14:05:41
2190
1
原创 【WPF】填坑 - WindowChrome 自定义窗口完美实现
前面写过一篇关于在 WPF 中通过对 WindowChrome 的操作实现自定义窗口并保留一部分的系统功能。【WPF】WindowChrome 自定义窗口完美实现有小伙伴看过之后反应,其中有些功能不够完善,本篇来对前面填坑。
2023-09-24 17:59:18
2140
4
原创 【WPF】 本地化的最佳做法
应用程序本地化有很多种方式,选择合适的才是最好的。这里只讨论一种方式,这种方式可是在不重启应用程序的情况下进行资源的切换,不论是语言切换,还是更上层的主题切换。想要运行时切换不同的资源就必须使用这种方式。
2023-08-14 16:49:25
1470
原创 【C#】接口实现多态增强版
在实际的生产中,会涉及到需要对接多种相似性较高的系统。具体而言就是业务接口是相同的,但是会出现接口的参数不同的情况。这时做一个对接隔离层就显得优势很明显了。这个隔离层的作用就有了两个基本的作用:1、单一性,保护我们自己的软件系统的标准型。2、可扩展性,通过隔离层对外实现对接系统的多样性。使用 Interface 实现多态优势很明显。
2023-05-14 19:24:54
837
原创 【容器化】Docker 简介和安装
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
2023-05-07 17:05:22
1071
原创 ASP.NET Core Filter
Filter简介1、切面编程机制,在 ASP.NET Core 特定的位置执行我们的自定义的代码3、所有筛选器一般有同步和异步两个版本。
2023-04-02 16:14:20
815
原创 ASP.NET Core 配置系统
因为环境变量的读取需要通过父进程传递给子进程,重启 VS 是重启进程的操作。读取系统环境变量,需要重启 Visual Studio 重启项目是不行的,:ASP.NET Core 会从环境变量中读取名字为。在 Controller 中读取环境变量需要注入。Development —— 开发环境。Production —— 生产环境。Staging —— 测试环境。
2023-03-31 10:24:53
351
原创 Xamarin.Forsm for Android 系统功能
初次涉猎Android程序,使用 Xamarin 编写,这里不讨论 Xamarin 的好坏,重点是解决我们的问题。它允许获取以应用为特征的资源和类型,是一个统领一些资源(应用程序环境变量等)的上下文。然后在清单文件 AndroidManifest.xml 声明该广播接收者,也就是下面实现监听广播处理自己的业务逻辑(拉起自己app)的类。这种开机自启的方式不好的地方在于,需要在安装之后手动启动一下,才能收听广播。广播,当接收到该广播时,打开该应用的启动页面。通过监听系统的开机广播来实现,拉起app。
2023-03-25 18:59:18
609
原创 C# 操作 MySql
工作中大多数情况下用的都是 MySql 但一直没有记录,相关操作。这篇文章以便MySql.Data库进行MySql操作。使用 C# 执行 SQL 语句,造个轮子。创建数据库创建数据表批量添加数据MySql事务执行清表分页、模糊查询。
2023-03-19 18:48:50
714
原创 【WPF 值转换器】ValueConverter 进阶用法
值转换器在WPF开发中是非常常见的,当然不仅仅是在WPF开发中。值转换器可以帮助我们很轻松地实现,界面数据展示的问题,如:模块隐藏显示、编码数据展示为可读内容。实现值转换器需要继承Interface,并实现Convert和方法,多数情况下可以不实现方法。一般调用采取的形式进行调用,这种方式应该是大部分人都熟知的。这种方式比较繁琐的点在于,每一个 Converter 在调用时都需要在中定义资源字典,才能够使用,无论是在当前窗口资源标签中还是在 App.xaml 文件中统一定义,至少都需要进行一次定义。
2023-03-07 17:35:05
1829
原创 SignalR 实时通讯
SignalR 是一个开放源代码库,可用于简化向应用添加实时 Web 功能。实时 Web 功能使服务器端代码能够将内容推送到客户端。SignalR 提供用于创建服务器到客户端远程过程调用 (RPC) 的 API。RPC 从服务器端 .NET Core 代码调用客户端上的函数。提供多个受支持的平台,其中每个平台都有各自的客户端 SDK。与 ASP.NET 的其余部分一样,SignalR 是为实现高性能而构建的,也是市面上最快的实时框架之一。
2023-02-28 15:00:14
1804
原创 Xamarin.Forsm for Android 显示 PDF
在 Xamarin.Forsm for Android 中显示 PDF 并不像 for IOS 中可以直接使用 WebView 进行显示,所以使用 WebView 是行不通的。多搜索,多探索,看看别人的案例虽然不能百分之百解决问题,但可以提供很有效的思路。
2023-02-23 21:31:36
1125
原创 【WPF】WindowChrome 自定义窗口完美实现
使用windowchrome实现自定义化窗口。Microsoft官网关于 WindowChome 的介绍:若要在保留其标准功能时自定义窗口,可以使用该类。该类将窗口框架的功能与视觉对象分开,并允许你控制应用程序窗口的客户端和非客户端区域之间的边界。通过该类,可以通过扩展工作区来覆盖非工作区,将 WPF 内容置于窗口框架中。同时,它通过两个不可见区域保留系统行为: 调整边框 和 标题 区域的大小。
2023-02-16 13:39:42
3442
3
原创 什么是防抖和节流?有什么区别?如何实现?
防抖n 秒后在执行该事件,若在 n 秒内被重复触发,则重新计时。节流n 秒内只运行一次,若在 n 秒内重复触发,只有一次生效。
2023-01-07 14:03:25
3557
原创 Entity Framework Core 代码自动化迁移
NET6使用 EF Core 进行 Code First 开发的时候,肯定会遇到将迁移更新到生产数据库这个问题,大多数都是使用命令生成迁移 SQL,然后使用 SQL 脚本将更新迁移到生产数据库的方式,这也是官方推荐做法,毕竟专人专事嘛。当时凡是都有例外,EF Core 自身提供了迁移API。
2022-12-31 17:24:26
1257
原创 【WPF】附加事件
附加事件可用于在非元素类中定义新的 路由事件 ,并在树中的任何元素上引发该事件。 为此,必须将附加事件注册为路由事件,并提供支持附加事件功能的特定 支持代码 。 由于附加事件注册为路由事件,因此在元素树中引发时,它们会传播到元素树中。
2022-12-04 11:04:41
1331
原创 【Vue3+TS】Axios拦截器封装及跨域 [cors] 解决方案
跨域问题弄明白了还是很容易解决的,一般来说,只需要在一端解决跨域即可,并且一般建议使用后端跨域解决方案。后面会单独出一篇后端跨域的多种解决方案和各种方案的适用范围以及如何选择最佳方案。
2022-11-19 17:59:29
4044
原创 【WPF】DiffPlex 文本比对工具
现行的文本编辑器大多都具备文本查询的能力,但是并不能直观的告诉用户两段文字的细微差异,所以对比工具在某种情况下,就起到了很便捷的效率。
2022-11-18 14:44:23
1121
原创 CSharp(C#)语言_委托和事件区别详解
事件是一种特殊的委托,事件的最佳实践为订阅者模式。委托可以将函数作为参数传递,消除了很多不必要的判断,增强了程序的健壮性和可扩展性。熟练并掌握委托和事件,有助我们写出更优雅、易读且性能优越的代码。
2022-11-12 10:46:52
1747
原创 【C#】KPM算法解决字符串匹配问题
Knuth-Morris-Pratt 字符串查找算法,简称为 “KMP算法”,常用于在一个文本串S内查找一个模式串P 的出现位置,这个算法由Donald Knuth、Vaughan Pratt、James H. Morris三人于1977年联合发表,故取这3人的姓氏命名此算法。KMP方法算法就利用之前判断过信息,通过一个next数组,保存模式串中前后最长公共子序列的长度,每次回溯时,通过next数组找到,前面匹配过的位置,省去了大量的计算时间。模式串在文本串是否出现过,如果出现过,最早出现的位置。
2022-10-24 10:40:51
695
原创 Prim WPF入门-选项卡式导航实现
Prism是一个用于在 WPF、Xamarin Form、Uno 平台和 WinUI 中构建松散耦合、可维护和可测试的 XAML 应用程序框架。创建好了之后项目很简单,与普通的WPF项目包含的源文件数量一致。命令绑定不再做说明,不会可以去看 Microsoft 文档。Prism中ViewModel 必须继承。不具备的能力,后面的子页面都将继承。类,实现导航及公共属性、方法。
2022-10-22 12:44:10
1843
原创 ASP.NET Core 注册为 Windows Service
ASP.NET Core 注册为 Windows Service,及Dos命令的使用
2022-10-10 17:14:46
811
原创 C# 源代码生成器
源生成器是由SDK 附带。通过源生成器,C# 开发人员可以在编译用户代码时检查用户代码。生成器可以动态创建新的 C# 源文件,这些文件将添加到用户的编译中。这样,代码可以在编译期间运行。它会检查你的程序以生成与其余代码一起编译的其他源文件。源生成器是 C# 开发人员可以编写的一种新组件本文学术内容皆引用于 Microsoft 文档部分详细内容,本篇不再说明,Microsoft 文档说得很明确:文档地址。
2022-10-07 14:41:07
6598
原创 WPF可视化扫码器
以识别粤康码识别为例。现在的深圳进出小区、商场、办公楼、乘坐公共交通工具等都需要出示并扫描健康码,也被称之为“电子哨兵”。不多说那个用的是一般的扫码枪。
2022-10-01 11:19:00
1408
原创 关于C# HttpClient 的用法及相关问题的解决方法
HttpClient 旨在被实例化一次并在应用程序的整个生命周期中重复使用。为每个请求实例化一个 HttpClient 类将耗尽重负载下可用的套接字数量。工作中遇到写正常的 http post 请求会失败的问题,于是就在原有的基础上改动了写代码使用。相信大家在使用 HttpClient 的时候遇到过。,详情见代码第二个 post 请求方法。的错误,一般的解决方法就是下面这种。解决办法:在请求方法中指定。
2022-09-04 08:14:31
2052
原创 WPF XAML转图片
在实际开发过程中,会遇到需要编写各类打印模板模板的需求,当然这些在WPF开发中更为常见,但是使用XAML写编辑的打印模板又不能直接发送给打印机进行打印,这个时候就需要将我们编写好的模板导出为可打印的文件,为什么选择了图片呢,是因为在众多文件格式中图片是最易于保存的,这点不仅凸显在临时保存更重要的是长期保存,我们知道图片可以使用Base64字符串、Byte字节在数据库中进行长期保存,为后期读取带来极大的便利,即使模板更新了,也可以打印出很久以前的文件样式。选择想要的图片转换对象,保存即可。
2022-08-20 09:46:00
594
原创 ASP.NET Core 性能优化-缓存
ASP.NET Core 性能优化缓存ASP.NET Core 客户端缓存ASP.NET Core 服务端缓存服务器端响应缓存很鸡肋内存缓存(In-memory cache)缓存的过期时间策略过期时间的两种策略绝对过期时间滑动过期时间两种过期时间混用内存缓存过期时间策略使用机制缓存穿透问题缓存雪崩问题内存缓存操作帮助类分布式缓存Redis 用法分布式缓存操作帮助类随机数生成扩展方法...
2022-08-07 15:53:34
1493
原创 ASP.NET Core 分层服务注入思想实现
熟悉 ASP.NET Core 的同学都知道在开发ASP.NET Core 项目时都会使用到依赖注入(DI),这是就需要在启动项目的 Program 或 Startup 类中 builder 要用到的服务,但这里有个问题,就是分层架构,这个时候不服务同层的编码可能是不同的人,就会造成 Program 或 Startup 类同时有多人编辑,甚至是造成服务注入需要专人来完成,为团队协作带来麻烦。如何规避呢,就是今天要说的 “分层服务注入”。...
2022-07-31 13:47:02
700
原创 EF Core实战进阶版
EF Core实战进阶版常用数据库 ORM 库ORMEF Core 与其他 ORM 比较(EF Core、Dapper)EF Core 与 EF 比较数据库的使用Migration 数据库迁移Fluent API主键无小事自增主键Guid主键其他方案深入研究MigrationMigration其他命令反向工程EF Core原理通过代码查看EF Core的SQL语句标准日志简单日志ToQueryString重点EF Core 一对多关系额外的外键字段......
2022-07-23 12:35:41
1794
1
ImageCropping
2024-07-14
MyVLCMediaPlayer1.0
2023-06-03
(可视化C#健康码自动识别《粤康码》)HealthCodeIdentification.zip
2022-09-24
WPF PDF阅读器,基于.NET6.0版本
2022-04-05
PInvoke Interop Assistant.7z
2022-01-06
GifSeparator.zip
2021-08-21
WPF高级部分.pdf
2021-07-14
Linux命令行中文版.rar
2020-06-21
ThoughtWorks.QRCode.rar
2020-05-08
CPU实时使用率.rar
2020-03-07
jquery常见的选择器、筛选器、事件.docx
2020-03-07
FSCapture90.rar
2020-03-01
Oracle数据库.docx
2020-03-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人