Net10 Avalonia UI漂亮美观的流程图设计器重磅开源了

发布时间:2026/10/28 10:18:03
Net10 Avalonia UI漂亮美观的流程图设计器重磅开源了

项目背景:工控上位机开发,节约成本提供产品竞争力,节约windows授权费用,支持信创。

开发工具:Visual studio 2026

软件特色功能:支持BPMN、visio格式流程图导入、导出、打印等

软件架构功能:Dock多窗口部局、多语言支持、支持excel、pdf、媒体播放器等,集成日志功能。

直接上图

正在执行的节点

导航小窗口显示/隐藏

展开菜单

切换到英文界面

导入BPMN2.0流程图:导入BPMN官方的示例multiple_user_tasks.bpmn

打印预览

导出图片

多语言管理

打开excel

打开pdf文档

视频播放器

导航菜单风格

管理窗口

软件关闭后,最小化,防止用户误操作,如何退出,从文件菜单或从系统托盘图标里退出,如下图

托图右键退出

源码:

日志:

ILogger _logger => Log.ForContext<MainViewModel>(); Log.Information($"显示到前端"); Log.Error($"显示到前端错误类型"); _logger.Information("不显示到前端");

日志窗口显示效果,_logger与Log区别是只记录到log.txt

流程图节点

多语言开发:

AXAML 使用{L Key},后台cs代码Localizer.Localizer.Instance["Key"]

后台代码示例:

private static string L(string key) => OpenEAP.Localizer.Localizer.Instance[key];

多语言实现源码:Localizer

在开发界面录入的key会自写入数据库,允许用户修改,提高开发效率。

例如:在前端axaml文件里录入{L MenuFile},会MenuFile会自动插入多语言表

实现源码:

public string this[string key] { get { if (m_Strings != null && m_Strings.TryGetValue(key, out string res)) { res = res ?? key; return res.Replace("\\n", "\n"); } #if DEBUG var checkedKey = DbHelp.fsql.Select<ResourcesEntity>().Any(t => t.Key == key); if (!checkedKey) { var lans = DbHelp.fsql.Select<LocalizationEntity>().WhereDynamic(GlobalHelper.WhereEnable).ToList(); foreach (var item in lans) { ResourcesEntity resourcesEntity = new ResourcesEntity { Culture = item.Culture, Key = key, Value = key }; DbHelp.fsql.Insert(resourcesEntity).ExecuteAffrows(); } } #endif return key; } }

白色主题

低代码界面设计器、设备数据采集、数字孪生功能等更多功能开发中,加上图联系方式获取更多开发资源

源码地址:GitHub - mansai/OpenEAP · GitHub