- 博客(106)
- 资源 (32)
- 收藏
- 关注
原创 CodeWF.EventBus:轻量级事件总线,让通信更流畅
CodeWF.EventBus,一款灵活的事件总线库,实现模块间解耦通信。支持多种.NET项目类型,如WPF、WinForms、ASP.NET Core等。采用简洁设计,轻松实现事件的发布与订阅。通过有序的消息处理,确保事件得到妥善处理。简化您的代码,提升系统可维护性。立即体验CodeWF.EventBus,让事件处理更加高效!MediatR。
2024-06-10 10:57:27 798
原创 在Avalonia项目中使用MediatR和MS.DI库实现事件驱动通信
站长开发工具做了在线版(https://blazor.dotnet9.com),也做了跨平台桌面版本(AvaloniaUI),两个版本使用MediatR可以复用大部分事件代码。
2024-03-03 12:10:18 1037
原创 FluentValidation在C# WPF中的应用
1. 引言在.NET开发领域,FluentValidation以其优雅、易扩展的特性成为开发者进行属性验证的首选工具。它不仅适用于Web开发,如MVC、Web API和ASP.NET CORE,同样也能完美集成在WPF应用程序中,提供强大的数据验证功能。本文将深入探讨如何在C# WPF项目中运用FluentValidation进行属性验证,并展示如何通过MVVM模式实现这一功能。2. 功能概览我们的目标是构建一个WPF应用程序,它能够通过FluentValidation实现以下验证功能:验证Vie
2024-01-25 09:50:50 1544
原创 Dotnet工具箱:开源、免费的纯前端工具网站,带你探索10大工具分类和73个实时在线小工具
大家好,我是沙漠尽头的狼。Dotnet工具箱是一个纯前端的、开源和免费的工具网站,周末我参考了开源项目it-tools,对网站界面文字进行了汉化,并重新部署了网站。该网站共有10大工具分类,提供了73个实时在线小工具。使用Vue3开发的Dotnet工具箱具有独特的特色,本文详细介绍了其中一些特色工具,并简单分享了如何部署自己的工具网站。如果你对工具网站感兴趣,不妨来了解一下Dotnet工具箱吧!Dotnet工具箱已有工具如下:关于Dotnet工具箱和it-tools项目。
2023-10-22 10:17:32 583
原创 模拟.NET应用场景,综合应用反编译、第三方库调试、拦截、一库多版本兼容方案
技术的存在即合理,关键在于如何使用。在前面的文章中,有读者留言:Lib.Harmony似乎不是一个正经的库,有什么合法的场景需要使用它吗?非常正经。当你使用一个第三方库,并且确定了版本并已经上线,有时候不能随意升级第三方库,因为可能存在潜在的风险。这时,你只能修改自己的代码,而不动第三方库。还有读者说得很有道理:这个工具非常强大,但有时也很可怕。既然读者有疑问,所以我写了这篇文章,尽量模拟一个看起来比较实际的应用场景。你可以跟着做一做,看看这个工具到底是不是正经的。本文提供了详细的手把手教程。
2023-09-26 23:16:58 213
原创 拦截|篡改|伪造.NET类库中不限于public的类和方法
方法拦截是指在方法被调用之前或之后,通过插入自定义的代码来修改方法的行为。通过方法拦截,开发人员可以在不修改原始代码的情况下,对方法的输入参数进行验证、修改方法的返回值、记录方法的调用日志等操作。本文使用库实现第三方库方法的拦截,关于该库站长写过[快学会这个技能-.NET API拦截技法](快学会这个技能-.NET API拦截技法 - Dotnet9)一文,大家可以再看看,但该篇文章未介绍非public类及方法如何拦截,本文会有所补充反过来。技术交流加群请添加站长微信号:dotnet9com使用。
2023-09-23 20:47:19 219
原创 如何在没有第三方.NET库源码的情况,调试第三库代码?
技术交流加群请添加站长微信号:dotnet9com《神器如 dnSpy,无需源码也能修改 .NET 程序》。对了,示例程序中奇偶数判断不对,我又没代码我想纠正怎么办?解决这个问题,上面大佬的文章您可以拜读了,下一篇站长继续讲解第三方库拦截,能实现不修改第三方库达到修改方法逻辑和返回结果的效果,可以提前预习快学会这个技能-.NET API拦截技法,当然下一篇会有新知识点:非公有类非公有方法拦截技法。
2023-09-22 21:34:40 176
原创 CefSharp自定义缓存实现
这是本文介绍的重点,相对于默认缓存,自定义缓存更加灵活:可以根据应用程序的需求来灵活地配置缓存策略和缓存大小,从而更好地满足应用程序的需求。更好的性能:可以根据应用程序的需求和特定的场景进行配置,以获得更好的性能。默认的缓存可能不适合某些特定的场景或者不适合您的应用程序的需求,而自定义缓存则可以根据您的需求进行调整,以获得更好的性能。更好的安全性:可以更好地保护用户的隐私和安全,因为可以控制缓存中存储的内容和缓存的生命周期。
2023-04-26 23:24:36 891 1
原创 能快速构建和定制网络拓扑图的WPF开源项目-NodeNetwork
在现代软件开发中,数据可视化和可交互性越来越受到关注。为了实现这一点,通常需要使用各种图表、表格、网络拓扑图等控件。NodeNetwork就是一种这样的自定义方式,它是一个基于C# WPF的开源项目,可以帮助我们快速构建和定制网络拓扑图。
2023-03-19 10:32:22 1317
原创 国庆学go,完成了博客基本功能,迫不及待的发布上线了
跟着B站Up主视频学习的Go Web开发(后面给出链接),只有首页展示、分类展示、博客文章列表、分类文章列表、文章详情展示、博客评论等功能,其他的一些功能后面重构时再加上(用Razor Pages)。网站首页分类文章列表文章详情文章评论生命在于折腾,整!!!
2022-10-07 21:29:38 497 2
原创 MAUI使用Masa blazor组件库
上一篇(点击阅读)我们实现了UI在Web端(Blazor Server/Wasm)和客户端(Windows/macOS/Android/iOS)共享,这篇我加上 Masa Blazor组件库的引用,并把前几个月写的时间戳转换工具加上。关于Masa Blazor请点击Masa Blazor官网了解:组件库的添加参考Masa官网,这里写下Dotnet9后台添加记录:添加文件,代码如下:关键代码只有一行,添加扩展类是为了功能扩展,为了其他项目方便使用…就这3步对 的修改。添加资源文件修改文件,添加以
2022-06-22 11:26:11 782
原创 MAUI与Blazor共享一套UI,媲美Flutter,实现Windows、macOS、Android、iOS、Web通用UI
距离上次发《MAUI初体验:爽》一文已经过去2个月了,本计划是下半年或者明年再研究MAUI的,现在计划提前啦,因为我觉得MAUI Blazor挺有意思的:在Android、iOS、macOS、Windows之间共享UI,一处UI增加或者修改,就能得到一致的UI体验。看看这篇文章《Blazor Hybrid/MAUI 简介和实战》对MAUI Blazor的说明:今天就分享如何在Blazor Server、Blazor Wasm、MAUI Blazor之间共享UI的实验,这一步完成,后面开发应用时就方便多了(只
2022-06-21 14:01:24 2978
原创 WPF|添加引导功能(支持MVVM)
阅读导航前言案例一案例二案例三(本文介绍的方式)如何使用?控件如何开发的?总结1. 前言案例一站长分享过 眾尋 大佬的一篇 WPF 简易新手引导 一文,新手引导的效果挺不错的,如下图:该文给出的代码未使用 MVVM 的开发方式,提示框使用的用户控件、蒙版窗体样式与后台代码未分离,但给大家分享了开发新手引导功能的一个参考。案例二开源项目 AIStudio.Wpf.Controls,它的新手引导效果如下:此开源项目也有参考上文(WPF 简易新手引导),并且重构为 MV
2022-05-28 23:13:44 717
原创 WPF|黑暗模式的钱包支付仪表盘界面设计
阅读目录效果展示准备简单说明 + 源码结尾(视频及源码仓库)1. 效果展示欣赏效果:2. 准备创建一个WPF工程,比如站长使用 .NET 7 创建名为 WalletPayment 的WPF项目。这次我们不添加任何图片,只添加了一个Nuget包 MaterialDesignThemes:<PackageReference Include="MaterialDesignThemes" Version="4.6.0-ci176" />原文作者使用的FontAwesom
2022-05-14 23:19:46 474 1
原创 WPF|如何在 WPF 中设计漂亮的社交媒体信息仪表板
1. 效果展示先来直接欣赏效果:2. 准备创建一个WPF工程,比如站长使用 .NET 7 创建名为 Dashboard3 的WPF项目,添加一些图片资源,项目目录如下:2.1 图片资源可在网站 iconfont 下载 关闭、最小化 图标,用于窗口右上角显示:有看到美女图片没?在百度图片或者谷歌图片下载,比如 泰勒·斯威夫特 ,用于界面展示一个人的头像:2.2 字体图标Nuget包:FontAwesome.WPF,该包提供一些图标字体:<PackageReference Incl
2022-05-13 08:59:02 478
原创 Flutter 3 发布了(文末推荐一个免费的在线Flutter学习教程)
翻译自 Tim Sneath 2022年5月12日的文章 《Introducing Flutter 3》作者 : Tim Sneath翻译 : 沙漠尽头的狼(谷歌翻译加持)链接 : Introducing Flutter 3(英文原文)我们在手机、桌面和网站开发上进行多平台UI开发的历程达到了顶峰。我们很高兴地宣布,作为Google I/O主题演讲的一部分推出Flutter 3。Flutter 3完成了我们从以移动为中心到多平台框架的路线图,提供了对macOS和Linux桌面应用的支持,.
2022-05-13 08:37:15 1082
原创 WPF|分享一个登录界面设计
分享一个登录界面,先看效果图:准备文中使用到了一些图标:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZsHcZCFv-1652400544809)(https://img1.dotnet9.com/2022/05/3402.png)]我们可以从 iconfont免费下载:代码简单说明请随手创建一个WPF项目(.NET Framework、.NET 5\6\7皆可),使用tree /f命令看看最终的文件结构,和上面的截图一致:C:.│ ModernLog
2022-05-13 08:10:35 2547 2
原创 分享我做Dotnet9博客网站时积累的一些资料
从2019年使用WordPress搭建Dotnet9网站,到现在手撸代码开发,介绍中间使用的一些资源,绝无保留,希望对大家有用。1. 申请域名、搭建WordPress网站时间点:2019年11月申请Dotnet9域名,讲个实话,站长是从Dotnet1试到Dotnet9的,前面8个都被注册了,哈哈。网站使用WordPress的第三方收费主题JustNews主题搭建:JustNews主题专为博客、自媒体、资讯类的网站设计开发,自适应兼容手机、平板设备,支持前端用户中心,可以前端发布/投稿文章,同时主
2022-05-03 19:51:36 1399
原创 一个WPF开发的打印对话框-PrintDialogX
今天五月一号,大家玩的开心哦。1. 介绍今天介绍一个WPF开发的打印对话框开源项目-PrintDialogX,该开源项目由《WPF开源项目:AIStudio.Wpf.AClient》作者推荐。欢迎使用 PrintDialogX, 这是一个开源项目。免费用于商业用途。用于 C# 的自定义打印对话框,可实时预览。您可以选择打印机并设置份数、方向、颜色、质量、比例、每页张数、双面、纸张尺寸、纸张类型、纸张来源等。它也很优雅。2. 你为什么使用这是功能强大且美观的自定义打印对话框。在最新版本里它几乎
2022-05-02 09:54:14 348
转载 前端大屏模板分享-可在线浏览
1. 前言站长以前介绍过这个开源项目,最近又有人在问,索性挂在Dotnet9网站上,方便大家在线浏览,先声明,模板来自下面的仓库:仓库名: 大屏数据展示模板作者:lvyeyou开源协议:MIT仓库地址:https://gitee.com/lvyeyou/DaShuJuZhiDaPingZhanShi目前此项目处于暂停状态,不过已有的模板也够惊艳了,够使用了,不管你是用于MVC还是Vue,直接拿去套吧,下面逐一介绍已有的模板。2. 模板介绍2.1 智慧交通2.1.1 大数据视频监控
2022-05-01 20:31:11 889
原创 分享这位的WPF界面设计系列视频
本文结构:前言视频详情搬运详情总结4.1 国内推荐WPF资源4.2 B站是学习的天堂4.3 去外面看看4.4 个人给C/S同学建议1. 前言今天介绍油管上一个大佬发的WPF设计系列视频,每个视频都没有旁白,只有背景音乐和大佬敲码的过程。2020年疫情在家时找到的这套WPF系列视频,那时刚开始玩微信公众号,就每天看他的一个视频,然后跟着把代码敲下来,通过微信公众号二次分享。对于玩WPF的同学,他的一些界面设计是可以学习的,甚至可以直接复制过来使用。2. 视频详情Abel
2022-05-01 20:11:36 617
原创 完美:C# Blazor中显示Markdown并添加代码高亮
昨天发了一篇介绍这个库:C# Blazor中显示Markdown文件,介绍怎么在Blazor中显示Markdown内容的文章,文章内的代码是没有高亮的,思来相去,还是要做好,于是百度到这篇文章.NET C# Blazor 服务端渲染Markdown,现在渲染效果如下:自认为应该是比较完美了,下面说说怎么做的。一、准备工具1.1 添加Markdown转html包:MarkdigMarkdig:Markdig 是一个快速、强大、符合CommonMark标准、可扩展的 .NET Markdown 处理器
2022-02-27 19:41:17 1161
原创 介绍这个库:C# Blazor中显示Markdown文件
1 讲目的前几天上线了一个在线Icon转换工具,为了让大家使用放心,改了点代码,在转换下载Icon图标后立即删除临时文件,并在工具下面贴上了工具的开发步骤和代码,大家看这样改是否合适,见Issue 1。这篇不讲代码修改过程(因为工具和网站博文已经同步更新),本文讲讲在工具下方展示Markdown文件的实现方式,先看效果:为啥要加这个功能?我的想法是,除了提供工具免费使用外,也能让大家了解这个工具是如果开发的,这样应该更方便:默认是不显示的,点击如何开发的?的按钮加载开发文章说明。评论功能目前
2022-02-26 23:37:47 267
原创 免费开源Blazor在线Ico转换工具
1. 功能效果演示仓库地址:IcoTool在线演示地址:https://tool.dotnet9.com/ico演示下文件上传、转换结果:通过该工具及代码,能了解到:使用Blazor怎么上传文件到服务器(Blazor Server)。怎么从服务器下载文件。如何将png等图片转换为Ico图片。下面对该工具的实现代码做个简单说明,不太清楚的可以留言交流。2. 实现说明通过该工具,能了解到:使用Blazor怎么上传文件到服务器(Blazor Server)。怎么从服务器下载文件。
2022-02-25 00:15:07 9098
原创 后续来啦:Winform/WPF中快速搭建日志面板
继昨天发文ASP.NET Core 可视化日志组件使用(阅读文章,查看视频)后,视频下有朋友留言 “Winform客户端的程序能用它不?”,微信也有朋友问能否嫁接到WPF上,站长今早尝试了,是可以的!原理是将Winform或WPF 应用程序,宿主到ASP.NET Core Web API上,具体先来个小视频看看效果,想要代码直接往下面翻:【视频占位】实战步骤:创建一个 WPF 应用程序添加ASP.NET Core、Serilog支持WPF窗体中使用Serilog完结本文实战开始1
2021-04-18 16:14:26 986 1
原创 ASP.NET Core可视化日志组件使用
前言今天站长推荐一款日志可视化组件LogDashboard,可以不用安装第三方进程,只需要在项目中安装相应的Nuget包,添加数行代码,就可以实现拥有带Web页面的日志管理面板,十分nice哦。下面是官方介绍:官方文档地址:https://doc.logdashboard.net/LogDashboard是在github上开源的aspnetcore项目, 它旨在帮助开发人员排查项目运行中出现错误时快速查看日志排查问题通常我们会在项目中使用nlog、log4net等日志组件,它们用于记录日志的功.
2021-04-17 20:49:24 724 3
原创 如果诸葛亮会编程,用Java写出师表...
继上一篇 "如果诸葛亮用C#写出师表…"后,站长想自己的第一语言是Java,虽然平时工作上用的不多,也用Java实现一遍吧,改改就是了,无非就是:C#的Console.WriteLine改为Java的System.out.println;C#的string改为Java的String;C#的bool改为Java的boolean;C#的继承符号:改为Java的extends;C#的断言Debug.Assert改为Java的assert。不到半个小时,Java版出师表就新鲜出炉了,和上篇声明一样.
2021-03-19 10:44:23 330
原创 如果诸葛亮用C#写出师表...
看到一篇18年的文章 “C++版《出师表》”,站长觉得挺有意思的,就用C# 控制台也实现了一遍,技术上没啥难度,但复制代码费了1、2个小时,纯粹无聊写着玩,看者别在意枚举、类名、变量中文命名,纯粹为了娱乐。出师表背景(照抄原文)今天让我们码农以特有的方式,来表达对丞相大人的敬仰与怀念!蜀章武元年(221年),刘备称帝,诸葛亮为丞相。蜀汉建兴元年(223年),刘备病死,将刘禅托付给诸葛亮。诸葛亮实行了一系列比较正确的政治和经济措施,使蜀汉境内呈现兴旺景象。为了实现全国统一,诸葛亮在平息南方叛乱之后.
2021-03-15 10:17:37 5980
原创 怎么做一个专业的软件安装包?
C/S客户端开发完成,需要将程序交付给用户,直接压缩发给用户是可以的(只是有点不专业),如果能有一个比较好看的安装界面,那档次就不一样了。本文介绍怎么使用Adanced Installer 17.9 制作专业的Windows 客户端安装包,其他软件或者本软件其他版本制作步骤也是类似的,下面是软件安装包制作完成后的安装演示:本文提供打包的程序源码下载及制作好的软件安装包体验,欢迎浏览下载:制作好的软件安装包:下载测试安装包测试打包的项目仓库:访问项目源码下面介绍安装包制作步骤:1、下载Ada
2021-02-01 17:34:31 9038 2
原创 最近遇到的问题记录:UrlEncode、UrlDecode
本文阅读前了解知识:什么时候需要使用UrlEncode和UrlDecode函数作者使用谷歌浏览器,通过按下F12对第三方网站http协议的接口抓包进行分析操作。场景运维小哥哥偶尔使用某某外包公司的网站系统,做设备录入工作,流程简单:录入设备基本信息,有7、8个字段需要输入,然后点击保存按钮;基本信息保存成功,进入设备类型选择操作,然后点击生成设备标识按钮;设备标识生成成功,录入设备关联的模块信息,简单设备只需要录入2条模块,复杂的设备有6条模块,每个模块有3、4个字段需要输入,最后点击保存。
2021-01-10 16:32:15 533
原创 WPF Prism框架Region失效了?
站长最近转载了痕迹的Prism 8系列博文,不知道你对该框架是否有一定了解了?不了解,可以看看本号转载的系列:WPF Prism框架合集(2.创建Prism应用程序)WPF Prism框架合集(3.Region)WPF Prism框架合集(Module)WPF Prism框架合集(5.视图注入)以及最近本号介绍的一款使用Prism开发的开源项目:Prism for WPF 搭建一个简单的模块化开发框架站长15年开始使用Prism 4,去年(2020年????)也使用Prism 8做开源项目
2021-01-07 11:09:33 851
原创 使用WTM框架创建博客系统后台并在云服务器发布
阅读导航关于lqclass.com博客后台前后端部署2.1 已部署访问链接2.2 nginx 部署2.2.1 后台后端发布2.2.2 后台前端发布2.2.3 云服务器部署下次分享1. 关于lqclass.comlqclass.com是新建博客网站的域名,博客网站站名暂定乐趣Class????,前期边开发边分享开发成果。2. 博客后台前后端部署2.1 已部署访问链接先给出后台前后端访问链接吧:后台前端http://admin.lqclas
2020-12-27 17:52:22 454 2
原创 C# WPF开源控件库:MahApps.Metro
其实站长很久之前就知道这个开源WPF控件库了,只是一直欣赏不了这种风格,但也star了该项目。每次浏览该仓库时,发现star越来越多,也看到很多网友对它的褒奖,所以今天就向大家推荐这款WPF控件库。1. 具体有多优秀,看仓库截图吧:目前支持.NET Framework (4.5+) 和 .NET Core (3.0 and 3.1)。开源协议基于MIT:MIT是和BSD一样宽松的许可协议,作者只想保留版权,而无任何其他了限制.也就是说,你必须在你的发行版里包含原许可协议的声明,无.
2020-12-12 12:25:48 812
原创 【Dotnet9-01】从0开始搭建开源项目-lqclass.com
行文目录一. 前言1.1 我的现有网站1.2 想法:新开发一个网站1.3 目前开发计划二. 行动了2.1 Github创建项目2.2 使用 WTM 搭建后台框架2.3 项目演示2.4 注意点三. 结语一些推荐资源分享一. 前言搭建这个开源项目,是想开发一个属于自己的网站,想做一个B/S(计划中也有部分C/S客户端和移动App端????)的开源项目。1.1 我的现有网站大家知道站长有个网站(Dotnet9)是用WordPress搭建的,网站主题使用收费的Just
2020-12-08 20:54:43 290
原创 C# WPF:这次把文件拖出去!
首发公众号:Dotnet9作者:沙漠之尽头的狼编辑于:成都,2020-12-01回顾上篇文章:C# WPF:把文件给我拖进来!!!本文完成对应的下文:《C# WPF:这次把文件拖出去!》提前看效果吧:上面效果的代码很少,xaml中只注册事件PreviewMouseLeftButtonDown即可:<Grid MouseMove="Grid_MouseMove" AllowDrop="True" Drop="Grid_Drop" DragEnter="Grid_DragEnt..
2020-12-03 13:51:45 325 3
原创 C# WPF:从窗体外拖文件到当前程序
首发公众号:Dotnet9作者:沙漠之尽头的狼日期:202-11-27一、本文开始之前上传文件时,一般是提供一个上传按钮,点击上传,弹出文件(或者目录选择对话框),选择文件(或者目录)后,从对话框对象中取得文件路径后,再进行上传操作。选择对话框代码如下:OpenFileDialog openFileDialog = new OpenFileDialog();openFileDialog.Title = "选择Exe文件";openFileDialog.Filter = "exe文件..
2020-11-28 20:37:51 581 3
原创 两个List< string>比较是否相同的N种方法,你用过哪种?
今天在一技术群看一群大佬讨论:有没有优雅的写法,比较两个List集合中的元素是不是完全一致…站长最近也无聊,通过群里的聊天记录和给出的参考链接,简单做做总结,万一后面大家能用上呢?我们做简单点,通过多种方式比较两个列表长度、所包含元素是否相等,不考虑顺序。给出下面两个列表,按比较要求,两个列表是相等的:List<string> lst1 = new List<string> { "2", "3", "1" };List<string> lst2 = ne
2020-11-21 21:03:10 7148 1
dev 12.1.6.zip
2020-08-27
c# ObservableCollection排序
2016-08-29
wpf log4net richtextbox
2016-04-30
wpf调用百度地图v2版
2016-04-27
c# 调用百度地图API
2016-04-26
C# 网络爬虫\蜘蛛 Crawler
2015-10-30
WPF Ribbon插件开发框架
2015-06-29
c# TCP/IP 聊天工具(解压密码:liushiquan)
2015-06-09
wpf BackgroundWorker样例
2015-06-08
C#控件拖拽及改变大小20150111
2015-01-11
MaterialDesignDemo.zip
2020-01-15
PopUpAndNav.rar
2019-12-19
FluentValidationForWpf.7z
2019-11-19
flowlayout.7z
2019-08-21
qt根据ip地址得到地理位置
2018-11-27
Qt CTK Plugin System Demo
2018-10-14
Qt 模拟批量传输文件、实时更新进度
2018-09-01
qt插件样例,使用自带的方式实现
2017-09-28
Dev GridControl 图片列表及图形化展示切换
2016-12-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人