自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 WPF 可拖拽的玻璃风 Popup

库,可用NuGet安装,不过样式并不是核心部分,所以仅作为补充。Ⅱ C#部分 GameVisual.xaml.cs。Ⅰ XAML部分 GameVisual.xaml。Ⅲ 样式实现 ( 明暗主题切换 )

2025-05-27 16:47:36 318

原创 WPF ScrollViewer Template 控件美化

(2)除核心部件外的东西都可以自行扩展,比如那个三角按钮就是我自定义的Button,比如Thumb也被我重写了模板。(1)关注3处标记了 ★ 的部分,它们是重写ScrollViewer的核心。(1)先把滚轮缩放和上下左右做了,ContentScale写在(2)中。库,后者在V2.1.0已包含本文涉及的所有控件。2-1.标记Theme,让其实现主题切换过渡。2-2.定义依赖属性ContentScale。库,可用NuGet安装,或者,直接用。(2)然后,处理剩余部分。项目中的部分功能使用了。

2025-05-27 16:15:55 209

原创 C# 源生成器 - 简单示例

以上示例只是简单展示源代码生成器基本运作逻辑,其实对于代码生成,有更清晰的语法,就像下面这张图演示的对于接口的定义,这更严谨、易于阅读和维护,不过熟悉这些API是要花费很多精力的,目前不借助AI我反正没法像这张图一样用API生成代码。从这些节点中,可以获取例如 :原始类引用的所有命名空间、原始类的修饰符、原始类的名称、原始类是否包含指定的特性、原始类是否继承指定类、是否实现指定接口……这个项目探索了如何使用极为简洁的C#代码构建WPF中的前端效果,是的,你没看错,用C#写前端!

2025-02-19 20:51:52 930

原创 使项目同时兼容.NET和.NET Framework

解释一下,上面这个例子中的【AspectOrientedAttribute】特性用于标记那些支持面向切面编程的目标,【Code Analizer】会在编译开始前分析项目中标注了此特性的地方,【Source Generator】会生成一部分源代码以实现这个特性。有关于性能等方面的优化是由【运行时】决定的,例如.NET8相较于.NET6对于线程池做了大幅优化,但是你在.NET6中编写的异步操作不需要为.NET8打包一份,同样的编译结果跑在不同的运行时下效果不同。<Reference> 添加全局引用。

2025-02-19 19:41:05 496

原创 WPF 使用 [ 源生成 ] 加速 DynamicTheme 构建

【Constructor】按形参列表分组,自动生成类的构造函数,且在构造器内部调用此方法【Observable】自动生成字段对应属性,CanHover:true代表属性具备悬停效果,此类字段必须具 备初始值,且初始值的构建不可以简写,例如【new Thickness(0)】而非【new(0)】【OnThemeChange】是自动生成的partial方法,用于控制主题切换前后逻辑【Dark/Light】实现IThemeAttribute接口,可用于标记属性在不同主题下对应的value。

2025-01-03 12:08:02 886

原创 C# 实现AOP(面向切面编程),以拦截属性setter/getter或方法调用(原生实现)

C#实现AOP编程,拦截方法调取,实现动态扩展/覆写

2024-10-31 18:00:56 971 1

原创 Visual Studio 2022 将类库项目上传至NuGet

文章介绍了如何在Visual Studio 2022中,上传类库项目至NuGet

2024-05-12 17:42:10 1179 1

原创 WPF如何注册全局热键?几句话就能搞定!

【FastHotKeyForWPF库】是一款加速WPF制作全局热键的类库,旨在几句函数调用就能实现热键的注册、删除、修改

2024-05-12 14:58:28 1492 1

空空如也

空空如也

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

TA关注的人

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