- 博客(236)
- 资源 (5)
- 收藏
- 关注
原创 演示:基于WPF的DrawingVisual开发GS(2019)1822号矢量中国地图
VS2022,Net7,GDAL,审图号为GS(2019)1822号矢量数据,DrawingVisual。
2024-08-06 23:32:53
1691
1
原创 演示:【Avalonia-Controls】Avalonia皮肤,主题,自定义控件,数据库,系统模块资源库
开源地址:GitHub - HeBianGu/Avalonia-Controls: Avalonia控件库Nuget包地址:NuGet Gallery | Packages matching HeBianGu.AvaloniaUI.演示视频地址:【Avalonia-Controls】Avalonia工具组件皮肤库 v1.0.0_哔哩哔哩_bilibili【Avalonia-Controls】VlcPlayer视频播放器_哔哩哔哩_bilibili 【Avalonia-Controls】Android WeC
2024-07-12 12:20:08
2251
原创 示例:应用WPF绘制轻量Chart图表之组合图效果预览
一、目的:演示应用WPF开发的Chart图,仅供参考二、环境:.Net Framework 4.5三、实现功能:1、曲线图2、散点图3、柱状图4、饼状图5、极坐标图5、雷达图其他功能后续添加...四、示例:经济指标男女身高体重分布温度与湿度访问来源Beijing AQI雷达图蒸发量和降雨量寿命与GDP版本下载量波形图正弦曲线示波图...
2020-10-17 23:34:51
10635
11
原创 示例:自定义WPF底层控件UI库 HeBianGu.General.WpfControlLib V2.0版本
一、目的:封装了一些控件到自定义的控件库中,方便快速开发二、实现功能:基本实现常用基础控件,满足常规软件快速开发同时支持框架.Net Core 3.0 + ,.Net FrameWork4.5+三、整体概况1、登录页面:登录页面只需要继承LoginWindowBase基类,并且设置样式Style="{StaticResource S.Window.L...
2019-11-15 14:55:24
5725
15
原创 示例:WPF仿制OSK做的系统键盘和数字键盘
一、目的:在应用osk.exe系统键盘时遇到很多不方便,比如有些系统调用不出来等问题,由此开发了一个系统键盘仿制osk二、实现功能 1、目前实现大部分osk键盘的输入功能,还有部分按键由于时间关系没有实现 2、支持组合按键shift、ctrl、alt等方式输入 3、支持大小写输入切换 4、支持shift切换复合按键 ...
2019-01-19 14:38:29
7609
14
原创 示例:WPF开发的可视化大屏示例
一、目的:利用PhotoShop分解PSD可视化文件,获取图片等背景资源放入WPF中构建自己的可视化大屏项目二、效果图(半成品,后续更新..)原psd效果图三、参考代码(本示例仅供学习交流)GitHub -https://github.com/HeBianGu/WPF-ScreenData.git...
2019-01-08 17:47:01
20831
10
原创 封装:WPF绘制曲线视图
一、目的:绘制简单轻量级的曲线视图二、实现:1、动画加载曲线2、点击图例显示隐藏对应曲线3、绘制标准基准线4、绘制蒙板显示标准区域曲线图示例:心电图示例:三、实现代码View:<echart:StaticCurveChartPlotter x:Name="chart" Background="White" DataSource="{Bi...
2018-05-09 17:57:12
19252
22
原创 【WPF-Control教程】Message 消息系统二次开发文档
用途:显示任意 Presenter、ViewModel、UserControl 或字符串内容。bool?dialog.Title = "编辑数据";});如果未注册窗口消息服务,会创建一个基础Window如果需要替换默认消息实现,实现对应接口并注册即可。public void ShowInfo(string message = "运行完成")// 自定义显示逻辑public void ShowSuccess(string message = "运行成功") { }
2026-08-26 11:41:37
199
原创 【WPF-Control教程】AppPaths 系统路径二次开发文档
set;set;set;get;set;get;set;get;set;// 其他服务注册... } protected override Window CreateMainWindow(StartupEventArgs e) {} }// 其他服务注册...
2026-08-26 11:39:16
274
原创 【笔记】使用Assembly.LoadFrom和AssemblyLoadContext加载插件对比,以及有没有更合适的加载插件方案
在 .NET 8 的 WPF 插件系统中,优先推荐使用 + 。 适合简单、受控且不需要卸载的场景,但不适合作为长期插件架构的核心加载方案。优点写法简单;适合内部测试插件;适合依赖版本完全由主程序控制的场景;启动时加载、运行期间不卸载的场景可以使用。缺点1. 无法卸载程序集加载后通常会一直驻留到进程退出,无法实现:例如:使用 时,可能出现:即使接口名称相同,只要来自不同加载上下文,也可能不是同一个类型:可能返回 。因此,插件接口程序集必须由主程序统一加载,不能让每个插件复制一份 、
2026-08-19 19:34:13
197
原创 【笔记】AppContext详细功能和使用说明介绍,以及跟Application和AppDomain区别和联系
AppContext、Application 和 AppDomain 是.NET中管理应用运行环境的不同组件。AppContext提供运行时上下文信息(如基础目录、运行时开关),适合获取进程级配置;Application管理WPF应用的UI生命周期(主窗口、资源、线程调度);AppDomain处理CLR托管域和程序集事件,但在现代.NET中插件隔离推荐使用AssemblyLoadContext。三者职责分明:AppContext关注运行时数据,Application专注WPF UI,AppDomain管理程
2026-08-19 19:14:01
390
原创 【文档】Cv2.imgproc 开发指南 — OpenCVSharp API 参考文档
查找对称圆点阵相机标定与去畸变全部 API 索引共 373 个方法名、536 个公开重载。作用: 执行 OpenCV 的 算法或工具操作。参数含义输入图像、矩阵或待处理数据。重载 2参数含义输入图像、矩阵或待处理数据。作用: 执行 OpenCV 的 算法或工具操作。参数含义输入、输出或控制参数;请按照签名类型和算法场景传入。输入、输出或控制参数;请按照签名类型和算法场景传入。输出结果;由方法
2026-07-30 11:58:18
271
原创 【WPF-Control】二次开发总览
本文档为WPF-Control控件库(基于.NET 8.0)的二次开发指南,主要面向开发者、贡献者和维护者。文档系统介绍了项目架构、核心组件和开发规范,涵盖基础层(IOC容器、MVVM框架)、主题系统、控件库(Form/Dock/Diagram等)、模块化设计和服务层。提供了从环境搭建、模块创建到控件扩展的实战指导,包括测试示例、主题定制和第三方库集成。解决方案采用分层架构设计,强调模块化和松耦合,包含12个逻辑分层和50+附加属性系统。文档还包含构建发布流程和兼容性规范,建议开发者通过测试项目快速上手,逐
2026-07-28 15:10:16
229
原创 【笔记】在WPF中ContentPresenter详细功能介绍以及跟ContentControl的区别
如果一个控件只需要一个内容区域,可以继承。模板中通常放一个</Border></Border></Border>"Template"</Border></Border>"12"</Border>"White"</Border>"Gray"</Border>"1"</Border></</Border></Border></Border></Border>"Template"</Border>"Button"</Border></Border>"8"</Border>"4"
2026-07-16 11:34:21
330
原创 【笔记】WPF中 Brush 的类型、继承关系、使用方式和注意事项
推荐把常用画刷放到资源里。</如果需要主题动态切换,可以使用:Brush├─ SolidColorBrush // 单色,最常用├─ LinearGradientBrush // 线性渐变├─ RadialGradientBrush // 径向渐变├─ ImageBrush // 图片填充├─ DrawingBrush // 矢量纹理└─ VisualBrush // UI 元素填充简单颜色用或可复用颜色放到资源中主题切换用图片填充用ImageBrush简单纹理用复杂 UI 填充才考虑。
2026-07-16 11:15:49
269
原创 【笔记】MSBuild中所有与路径相关的内置属性(宏)
MSBuild中所有与路径相关的内置属性(宏)。这些属性可以分为几大类,基本覆盖了从项目、解决方案到输出目录等各个方面。
2026-07-10 11:23:04
229
原创 【项目】WPF VisionMaster 4.0 项目介绍和开发文档
如果需要改变根目录、公司名或按版本隔离数据,可以继承并在App中重写set;set;NodeGroup模块主要定义节点分组类型、分组接口和分组元数据。它位于,用于描述“有哪些业务分类”和“节点如何归类”。:滤波模块。:逻辑模块。:相机模块。:图像数据源模块。:测量模块。:模板匹配模块。:图像矫正模块。当默认编辑器不满足需求时,可以为属性指定自定义编辑器。例如文件路径、文件夹路径、单位文本、表达式下拉、颜色选择等都可以通过自定义实现。
2026-05-18 16:06:26
924
1
原创 【笔记】在WPF中在IValueConverter 时“无法返回有效值该怎么做”
在IValueConverter 时“无法返回有效值该怎么做”。简述如下:正确做法选用建议示例XAML:演示 UnsetValue、DoNothing、null、异常配合校验</</</</</C#:Converter 实现value要点对比文档。
2026-05-13 16:57:37
407
原创 【项目】WPF-AIDI AI视觉算法训练平台V1.0.0发行说明
H.App.AIDI 1.0.0 是一款基于 WPF 开发的 AI 视觉算法训练平台,整体交互和功能设计参考工业视觉领域常见 AIDI 软件形态,面向图像标注、数据集管理、模型训练、推理验证、结果评估和模型导出等完整视觉算法开发流程。该版本以 项目化管理 为核心,以 YOLO26 可视化训练内核 为基础,支持目标检测、图像分割、分类等多种训练方式,适用于工业缺陷检测、目标识别、区域分割、图像分类和视觉算法快速验证等场景。• 支持反馈、官网、联系方式、隐私协议、关于等辅助功能。
2026-05-13 11:59:29
628
原创 【笔记】BindingOperations详细功能介绍
摘要: WPF中的BindingOperations类提供了以代码方式管理数据绑定的核心功能。主要包括:1)设置/清除绑定(SetBinding/ClearBinding);2)查询绑定状态(IsDataBound);3)获取绑定表达式(GetBindingExpressionBase);4)获取绑定对象本身(GetBindingBase);5)更新数据流(UpdateTarget/UpdateSource)。该类与LocalValueEnumerator配合使用可遍历运行时绑定,但需注意模板/样式等特殊情
2026-03-25 15:39:36
407
原创 【项目】Vision Master OpenCV 4.0 版本发行说明
本次版本新增缺陷检测流程、新增运行模式页面设计、新增通信节点功能、新增前景矫正节点、新增用户身份认证、优化增强测量模块、优化增强模板匹配和其他更多优化。2. 新增工具栏【显示运行模式界面】:直接查看运行模型的操作界面,跟用户角色关联,operator用户登录直接进入运行界面。2. 新增【特征匹配】节点:使用特征点匹配算法在图像中查找与模板相似的区域,增加特征模板绘制页面。1. 新增【轮廓匹配】节点:使用形状匹配算法在图像中查找与模板相似的轮廓,增加轮廓模板绘制页面。
2026-03-20 15:40:55
1336
原创 【笔记】在WPF中如何设置区域语言,使得系统消息弹窗都是该区域的语言
本文介绍了WPF应用中区域设置与本地化的实现方法。主要内容包括:1)通过设置DefaultThreadCurrentCulture和DefaultThreadCurrentUICulture统一应用线程文化,影响数据格式和资源选择;2)使用.resx资源文件实现UI字符串本地化;3)指出MessageBox等系统对话框语言受操作系统控制,建议使用自定义对话框确保语言一致性;4)提供了常见问题排查方法。文章强调要实现完整的语言体验,需要同时处理文化设置、资源本地化和自定义对话框三个环节,并给出了详细的代码示例
2026-03-20 15:25:21
470
原创 【笔记】在WPF中QueryContinueDragEvent的详细介绍
QueryContinueDrag是WPF拖放操作中的关键事件,用于控制拖拽的生命周期。它允许拖拽源在DoDragDrop阻塞循环中决定是否继续、取消或完成拖拽。该事件会频繁触发,响应鼠标/键盘状态变化,开发者可覆盖默认行为(如Esc取消、松开鼠标Drop)。通过QueryContinueDragEventArgs的Action属性可设置下一步操作,典型应用包括:限制特定按键才允许拖拽、自定义拖拽结束策略等。需要注意处理逻辑应保持轻量,避免性能问题,并与其他拖拽事件(如GiveFeedback)合理分工。
2026-03-19 11:25:25
543
原创 【笔记】在WPF中CommandManager的功能和应用场景详细介绍
CommandManager是WPF命令体系的核心组件,负责将输入动作映射到命令执行,并维护UI控件的可用状态。它通过CommandBinding实现命令路由,通过InputBinding支持快捷键绑定,并通过RequerySuggested机制自动刷新CanExecute状态。在MVVM模式中,可结合ICommand使用,常见于菜单/工具栏复用、状态驱动UI等场景。需注意避免频繁调用InvalidateRequerySuggested()导致的性能问题,并正确处理命令路由目标。对于画布类控件,建议将命令绑
2026-03-19 11:18:08
625
原创 【笔记】在WPF中GiveFeedbackEventHandler的功能和应用场景详细介绍
GiveFeedbackEventHandler是WPF中处理拖放操作反馈的事件处理器,主要用于控制拖放过程中的光标显示和视觉反馈。它会在拖放操作期间频繁触发,允许开发者根据当前拖放效果(如Copy、Move等)自定义光标样式或提示信息。使用时需注意设置UseDefaultCursors=false以避免系统覆盖自定义光标,并应缓存光标资源以提高性能。该事件通常与QueryContinueDrag配合使用,共同管理拖放操作的生命周期和用户反馈。
2026-03-19 11:04:56
509
原创 【笔记】在WPF中QueryCursor事件的功能和应用场景详细介绍
WPF中的QueryCursor机制用于动态设置鼠标光标样式。它是一个路由事件,在光标需要更新时触发,允许控件根据当前状态(如拖拽、缩放模式)设置合适的光标。该事件分为隧道(Preview)和冒泡(QueryCursor)两个阶段,通过设置e.Cursor和e.Handled可控制光标显示。典型应用包括图形编辑器、拖拽操作等场景。使用时需注意设置Handled属性、避免重计算,并在状态变化时主动触发更新。该机制将光标逻辑与交互状态绑定,实现了更灵活的光标控制。
2026-03-19 10:53:39
570
原创 【笔记】WPF的Binding中AsyncState的使用方式
AsyncState 是 Binding 的一个可选“上下文数据”,仅在设置 IsAsync=true 时参与异步取值流程。它会被传递给内部的异步数据调度器,用来影响异步行为(例如优先级或标识信息)。它不会让转换器异步执行,也不会自动在后台线程创建 WPF 对象。示例:为耗时源启用异步并降低优先级,避免卡顿示例:代码中设置异步绑定(控制优先级)示例:自定义异步源识别 AsyncState(仅供思路)
2026-01-14 11:17:34
470
原创 【笔记】DebuggerDisplay、DebuggerBrowsable 及其相关“系列”特性的系统性说明
下面是对 DebuggerDisplay、DebuggerBrowsable 及其相关“系列”特性的系统性说明,涵盖概念、语法、选项、示例、性能与调试器行为等。一、DebuggerDisplay{Member}{Id}{Count}{Name,nq}二、DebuggerBrowsable三、DebuggerTypeProxy(同属“调试视图系列”,常与以上配合)typeof。
2026-01-13 11:44:16
707
原创 【笔记】从WeakEventManager派生的类都有什么,以及他们的作用
从 WeakEventManager 派生的常见公开类及其作用,并给出使用要点。常用与数据绑定相关集合视图与导航命令系统Dispatcher 与应用生命周期说明使用要点。
2026-01-07 16:52:21
695
原创 【笔记】 WPF中CollectionChangedEventManager功能详细介绍
一、它是什么二、为何使用三、核心 API四、工作原理(简化)五、线程与 Dispatcher六、常见注意点七、适配场景八、与 PropertyChangedEventManager 的区别十、简单用法示例总结。
2026-01-07 16:45:15
1275
原创 【笔记】在WPF App.cs中结合 IServiceCollection 进行 IOC 依赖注入
【代码】【笔记】在WPF App.cs中结合 IServiceCollection 进行 IOC 依赖注入。
2025-12-13 16:23:59
1121
原创 【笔记】在WPF中如何使用ContentPresenter 与 Generic.xaml 设置数据默认 DataTemplate
特性优势集中管理所有默认模板都在 Generic.xaml 中定义自动应用ContentPresenter 自动查找匹配模板类型安全基于数据类型(DataType)匹配模板易于覆盖应用层可以覆盖默认模板复用性强一次定义,多处使用。
2025-12-13 16:08:56
944
原创 【笔记】System.Windows.Media.Pen 详细功能介绍
下面是 WPF 的 System.Windows.Media.Pen 详解,聚焦属性、渲染行为、性能与典型用法。一、定位二、核心属性补充属性(常用但易忽略)三、常用方法四、与 DrawingContext 的配合五、像素对齐与清晰度六、性能与最佳实践七、MiterLimit 与尖角控制八、常见陷阱总结。
2025-11-26 17:09:15
736
原创 【笔记】DrawingContext详细功能介绍
下面是 WPF 的 System.Windows.Media.DrawingContext 详解,涵盖职责、常用绘制方法、状态栈、资源使用与典型用法。一、定位与使用方式示例:使用 DrawingVisual 渲染二、核心绘制 API(常用)三、状态栈与作用域(Push/Pop)示例:变换与裁剪四、资源与性能建议五、与 Visual/Drawing 的关系六、坐标与 DPI七、典型组合示例(线条 + 文本 + 图像)八、错误与陷阱九、参考:获取 DrawingContext 的常见入口总结。
2025-11-26 16:50:36
1023
原创 【笔记】System.Windows.Input.Mouse详细功能介绍
下面是 WPF 中 System.Windows.Input.Mouse 的详解,聚焦常用属性、方法、事件与典型用法,帮助实现稳定的鼠标交互。一、定位与作用二、核心属性状态查询三、核心方法四、路由事件(在 UIElement/ContentElement 上使用)五、常用模式与示例六、与命中测试/坐标的关系七、输入优先级与事件处理八、焦点与捕获的区别九、常见陷阱。
2025-11-26 15:58:09
1458
原创 【笔记】Keyboard详细功能介绍
下面是 WPF 的 System.Windows.Input.Keyboard 类详解,聚焦常用属性、方法、事件与典型用法,帮助在桌面应用中精确处理键盘状态与输入。一、定位与作用二、核心属性三、核心方法四、键盘事件(路由事件)五、常用模式与示例六、与命令和输入绑定的配合七、注意事项与陷阱九、参考键值与修饰枚举总结。
2025-11-26 15:46:13
951
原创 【笔记】System.Windows.Application详细功能介绍
Application 是 WPF 的应用级中枢:入口、资源、窗口集合、生命周期事件与 UI 调度集中于此。规范地在 App.xaml.cs 中收敛初始化、异常、退出与主题资源管理,可减少分散逻辑与泄漏风险。
2025-11-26 15:31:11
1057
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅