# AIStudio.Wpf.AClient **Repository Path**: akwkevin/aistudio.-wpf.-aclient ## Basic Information - **Project Name**: AIStudio.Wpf.AClient - **Description**: Wpf客户端框架,AIStudio.Wpf.AClient6.0,全新优化。 - **Primary Language**: Unknown - **License**: LGPL-3.0 - **Default Branch**: net6-new - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 794 - **Forks**: 299 - **Created**: 2021-03-07 - **Last Updated**: 2025-06-01 ## Categories & Tags **Categories**: desktop-ui **Tags**: None ## README # AIStudio.Wpf.AClient 全新升级 【6.0正式上线,2023-01-02】 #### AIStudio框架汇总:[https://gitee.com/akwkevin/aistudio.-introduce](https://gitee.com/akwkevin/aistudio.-introduce) #### 对应的Plus版本:[https://gitee.com/akwkevin/aistudio-wpf-aclient_release](https://gitee.com/akwkevin/aistudio-wpf-aclient_release) #### 感谢【一位极少露面的靓仔】提供的[启动说明文档](https://gitee.com/akwkevin/aistudio.-wpf.-aclient/blob/net6-new/%E7%AE%80%E6%98%93%E5%90%AF%E5%8A%A8%E8%AF%B4%E6%98%8E.docx)。 #### 写在前面,下载请选择net6-new的分支(推荐使用VS2022,或者VS2019最新版),[历史版本可查看net5-new和net6,别的版本不推荐使用], 原先使用本框架的朋友注意了,后台使用全新框架AIStudio.Blazor.App(C#的BS版本后台同框架) #### 网上看到一张介绍本框架的图,借用一下。 ![输入图片说明](introduce.png) #### 本框架包括或后续将实现的内容: 1.自动升级(待部署) 2.采用Prism.DryIoc,而不采用Prism.Unity的原因 3.AvlonDock的Prism实现步骤。 4.使用AOP实现日志记录,AOP还可以帮我们做什么。 5.代码生成器实现的思路。 6.工作流的实现思路(包括工作流编辑器与后台实现) 7.如何制作安装包(可自定义安装界面)。 8.本地服务的启动思路。 9.通用crud配置方法实现,无需定义类,只需要在数据库添加数据即可。 10.拖拽式编程实现。 11.与BS(blazor)使用相同的结构模式,如果BS与CS进行代码统一。 12.Prism区域窗口多开,如何实现区域注册隔离。 使用的控件库地址https://gitee.com/akwkevin/AI-wpf-controls(麻烦大家点个星,谢谢大家) #### 介绍 Wpf客户端,AIStudio.Wpf.AClient ![输入图片说明](https://images.gitee.com/uploads/images/2021/0912/103135_62e8a695_4799126.png "屏幕截图.png") #### 软件架构 本框架使用Prism做MVVM,优点咱就不说了,主要了容器注入,消息和DI,比自己写省很多事。网上有很多标准的MVVM的使用方法,但是没有形成一个系统级的框架。本框架从登录到具体业务的使用,还有自动升级都搭建完成,没有大神写的那么好,只是起个抛砖引玉的作用。 后端使用ASP.net core,采用的是AIStudio.Blazor.App的框架(与BS使用相同后台). 其它技术特点:AOP,MAP #### 快速预览 Wpf客户端下载可以直接运行,默认配置文件 AIStudio.Wpf.Client.exe.Config 登录账号:Admin,密码:Admin ``` ``` 启动ServiceMonitor,点击启动服务,待本地服务启动后,可运行客户端进行连接。 ![输入图片说明](https://images.gitee.com/uploads/images/2021/0822/170817_84186e95_4799126.png "屏幕截图.png") #### 登录界面 快速预览方式可直接在登录界面进行切换。 ![输入图片说明](https://images.gitee.com/uploads/images/2021/0912/103100_da651bd2_4799126.png "屏幕截图.png") #### **框架截图** ![输入图片说明](https://images.gitee.com/uploads/images/2021/0822/170248_4a489e89_4799126.png "屏幕截图.png") **系统扩展** :如果需要扩展自己的页面,只需要按照这个工程的目录进行扩展即可。 ![输入图片说明](https://images.gitee.com/uploads/images/2021/0822/171241_88a20e42_4799126.png "屏幕截图.png") ``` protected override void ConfigureModuleCatalog(IModuleCatalog moduleCatalog) { var homePageModule = typeof(HomePageModule); moduleCatalog.AddModule(new ModuleInfo() { ModuleName = homePageModule.Name, ModuleType = homePageModule.AssemblyQualifiedName, InitializationMode = InitializationMode.WhenAvailable }); var base_ManageModule = typeof(Base_ManageModule); moduleCatalog.AddModule(new ModuleInfo() { ModuleName = base_ManageModule.Name, ModuleType = base_ManageModule.AssemblyQualifiedName, InitializationMode = InitializationMode.WhenAvailable }); //在这里添加你新增的 } ``` #### **快速代码生成** : 1.在数据库添加新表。 2.选择代码生成菜单,选中查询回来的新表,区域为你所加界面的工程,比如默认值Base_Manage,将把页面加到AIStudio.Wpf.Base_Manage工程下。 3.点击生成即可,重新启动客户端即可快速预览(前提是服务端也用代码生成器生成(在web端的代码生成器)了相应的控制器与接口) ![输入图片说明](https://images.gitee.com/uploads/images/2021/0829/172904_ed6373e9_4799126.png "屏幕截图.png") #### 大屏界面(可拖拽,可全屏) ![输入图片说明](https://images.gitee.com/uploads/images/2021/0912/103244_4abe087a_4799126.png "屏幕截图.png") #### 6.0的框架如下,2023-01-02 ``` ├─Application │ ├─AIStudio.Wpf.Business │ │ ├─AOP │ │ ├─Bussiness │ │ ├─IBussiness │ │ ├─ILogger │ │ ├─Logger │ ├─AIStudio.Wpf.Client(启动项目) │ ├─AIStudio.Wpf.Entity │ │ ├─DTOModels │ │ ├─Models │ ├─api │ │ └─AIStudio.Wpf.ApiBusiness (向后台请求方法) ├─Common │ ├─AIStudio.AOP │ ├─AIStudio.Core │ ├─AIStudio.DbFactory (代码生成使用) │ ├─AIStudio.LocalConfiguration │ └─AIStudio.Resource ├─Others │ ├─Dirkster.AvalonDock (主界面Tab控件) │ │ ├─Accelerider.Extensions │ │ ├─AIStudio.Wpf.PrismAvalonExtensions (Prism扩展) ├─Page │ ├─AIStudio.Wpf.Agile_Development (通用crud配置方法实现) │ ├─AIStudio.Wpf.BasePage (ViewModel的基类) │ ├─AIStudio.Wpf.Base_Manage (基础管理类) │ ├─AIStudio.Wpf.Home (主界面) │ ├─AIStudio.Wpf.LayoutPage (我的控制台) │ ├─AIStudio.Wpf.OA_Manage (工作流程) │ └─AIStudio.Wpf.Quartz_Manage (任务管理) ├─ServiceMonitor(本地服务启动) │ └─ServiceMonitor ``` #### 3.0新增功能如下,2022-06-01 #### Form 表单 ![输入图片说明](%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20220601160858.png) 排列方式如下: 水平排列:WrapPanel 垂直排列:StackPanel 固定行列:UniformGrid #### 表单-代码生成,是代码生成器的一种补充。 ![输入图片说明](3.gif) #### 通用crud方法1: ![输入图片说明](image.png) 根据类直接生成DataGrid #### 通用crud方法2: ![输入图片说明](image.png) 读取数据库配置,生成DataGrid,完全不需要类,后台完成相关接口,前台不需要更改任何代码,只需要在数据库插入脚本即可。 #### 大文件上传与下载 ![输入图片说明](%E4%B8%8B%E8%BD%BD.png) ![输入图片说明](%E4%B8%8A%E4%BC%A0.png) #### 捐助 如果您觉得我们的开源软件对你有所帮助,请扫下方二维码打赏我们一杯咖啡,开源不易,感谢您的支持。(可以联系我,在下面添加特别鸣谢,谢谢。) #### 技术交流 个人QQ:80267720 QQ技术交流群1:51286643(已满),QQ技术交流群2:51280970(进群提供服务端的开源代码地址)(如果您还喜欢,帮忙点个星,谢谢) 个人博客:https://www.cnblogs.com/akwkevin/ #### 更多 界面截图请到博客介绍:https://www.cnblogs.com/akwkevin/p/14534441.html 相关介绍文章如下:

管理系统-Wpf客户端框架(OA,聊天,定时任务)3.0发布

1.Wpf客户端生成安装包与自动升级包 - 竹天笑 - 博客园 (cnblogs.com)

1.1搭建Wpf框架(2.1) —— Wpf客户端生成安装包与自动升级包2

2.Wpf实现打印报表 - 竹天笑 - 博客园 (cnblogs.com)

3.Wpf使用EFCore操作数据库 - 竹天笑 - 博客园 (cnblogs.com)

4. 搭建Wpf框架(5) —— Wpf使用unity实现AOP - 竹天笑 - 博客园 (cnblogs.com)

5.搭建Wpf框架(6) —— Tile布局控件(可切换布局) - 竹天笑 - 博客园 (cnblogs.com)

6.搭建Wpf框架(7) —— 我的控制台(续6) - 竹天笑 - 博客园 (cnblogs.com)

7搭建Wpf框架(8) —— 3D展示墙 - 竹天笑 - 博客园 (cnblogs.com)

8搭建Wpf框架(9) —— 登录验证控件 - 竹天笑 - 博客园 (cnblogs.com)

9搭建Wpf框架(10) —— 弹出窗口动画 - 竹天笑 - 博客园 (cnblogs.com)

10.搭建Wpf框架(11) —— 多屏窗口

11.搭建Wpf框架(12) —— MahApps2.0.0.0自定义主题

12.一个Wpf控件库(Wpf客户端框架使用) - 竹天笑 - 博客园 (cnblogs.com)

13.为Wpf敏捷开发做准备-Wpf实现Form表单1 - 竹天笑 - 博客园 (cnblogs.com)

14.为Wpf敏捷开发做准备-Wpf实现Form表单2 - 竹天笑 - 博客园 (cnblogs.com)

15.搭建Wpf框架(13) ——代码生成器的使用 - 竹天笑 - 博客园 (cnblogs.com)

16.搭建Wpf框架(14) ——代码生成器的补充(Form表单的拖拽及生成) - 竹天笑 - 博客园 (cnblogs.com)

17.搭建Wpf框架(15) ——敏捷开发crud界面的设计 - 竹天笑 - 博客园 (cnblogs.com)

18.搭建Wpf框架(16) ——敏捷开发crud界面终极版(通过数据库脚本配置,前台无需修改) - 竹天笑 - 博客园 (cnblogs.com)

19.搭建Wpf框架(17) ——大文件上传与下载 - 竹天笑 - 博客园 (cnblogs.com) (cnblogs.com)