一个基于.NET8+WPF开源的简单的工作流系统

项目介绍

AIStudio.Wpf.AClient 是一个基于 WPF (Windows Presentation Foundation) 构建的客户端框架,专为开发企业级应用而设计。该项目目前版本为 6.0,进行了全面优化和升级,提供了丰富的功能和模块,以满足不同场景下的开发需求。

框架截图

项目特点

  • 自动升级(待部署):虽然当前版本尚未正式部署自动升级功能,但未来计划实现客户端的自动更新,方便用户及时获取最新版本。

  • 采用 Prism.DryIoc:项目采用 Prism 框架进行 MVVM(Model-View-ViewModel)架构设计,并选用 DryIoc 作为依赖注入容器。这一选择提升了代码的可维护性和可扩展性。

  • AvlonDock 的 Prism 实现:项目集成了 AvlonDock 控件库,通过 Prism 框架实现了灵活且强大的界面布局和窗口管理功能。

  • AOP(面向切面编程):使用 AOP 实现日志记录等横切关注点,减少了代码冗余,提高了系统的可维护性和灵活性。

  • 代码生成器:内置了代码生成器,支持从数据库表自动生成对应的 WPF 页面和 ViewModel,极大提高了开发效率。

  • 工作流系统:项目包含了工作流编辑器与后台实现,支持用户自定义工作流,并能在后台执行和管理这些工作流。

  • 安装包制作:提供了详细的指导,帮助开发者制作自定义安装界面的安装包,方便软件的分发和部署。

  • 本地服务启动:项目包含了本地服务的启动和管理模块,支持开发者根据需要启动和管理本地服务。

  • 通用 CRUD 配置:无需定义复杂的类,只需在数据库中添加相应的数据,即可实现通用 CRUD(增删改查)功能。

  • 拖拽式编程:支持拖拽式编程,用户可以通过拖拽的方式快速构建和定制界面,提升开发效率和用户体验。

  • 与 BS(Blazor)共享结构模式:项目采用了与 Blazor 相同的后端框架(AIStudio.Blazor.App),方便开发者在客户端和服务端之间进行代码复用和统一管理。

  • Prism 区域窗口多开与隔离:支持 Prism 区域窗口的多开和隔离,使得开发者能够灵活管理多个窗口和界面,提升应用的交互性和用户体验。

使用技术栈

  • 前端:WPF(Windows Presentation Foundation)。

  • 后端ASP.NET Core(采用 AIStudio.Blazor.App 框架)。

  • 依赖注入:Prism.DryIoc。

  • AOP:用于日志记录和其他横切关注点。

  • 控件库:AvlonDock、自定义 WPF 控件库(AI-wpf-controls)。

项目演示效果

开源地址

https://gitee.com/akwkevin/aistudio.-wpf.-aclient

优秀项目和框架精选

该项目已收录到C#/.NET/.NET Core优秀项目和框架精选中,关注优秀项目和框架精选能让你及时了解C#、.NET和.NET Core领域的最新动态和最佳实践,提高开发工作效率和质量。坑已挖,欢迎大家踊跃提交PR推荐或自荐(让优秀的项目和框架不被埋没🤞)。

相关推荐
rrtt_232328 分钟前
UE5 尝试接入 C# 脚本方案
ue5·c#·csharp·unrealcsharp
FreeLikeTheWind.44 分钟前
Qt 开发时可以在函数内引用的头文件
开发语言·c++·qt
学会870上岸华师44 分钟前
c语言学习16——内存函数
c语言·开发语言·学习
PyAIGCMaster1 小时前
react从零开始的基础课
开发语言·javascript·ecmascript
插件开发1 小时前
JavaScript-异步和同步函数使用场景及区别-正确构建程序的核心要点
开发语言·javascript·ecmascript
qq_365911602 小时前
WPF 五子棋项目文档
开发语言
Bruce_Cheung3 小时前
WPF旋转板栈设计一例
wpf·rack·tube·料盒·料管
MarvinP3 小时前
python基础:位置互换
开发语言·python·算法
Gauss松鼠会3 小时前
GaussDB回调机制深度实践:从事件驱动到系统集成
开发语言·javascript·数据库·sql·gaussdb