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