1. 项目概述
基于WPF .NET4.8 + Prism + MaterialDesignThemes + MVVM + ShowMeTheXAML框架设计开发的主程序引导程序,包含多个功能模块。


2. 技术栈
- 框架: WPF .NET4.8
- MVVM框架: Prism
- UI控件库: MaterialDesignThemes
- 代码展示: ShowMeTheXAML
- 通信: UDP, TCP, 串口, CAN
- 数据存储: XML, CSV, JSON
- 日志: 自定义日志类
3. 项目结构

3.1 主程序项目
AppDemo/├── AppDemo.Common/ # 公共工具类├── AppDemo.Core/ # 核心功能├── AppDemo.Data/ # 数据访问├── AppDemo.Main/ # 主应用程序├── AppDemo.WebApi/ # Web API服务├── AppDemo.Modules.Camera/ # 工业相机模块├── AppDemo.Modules.CanCommunication/ # CAN通信模块├── AppDemo.Modules.MotorControl/ # 电机控制模块├── AppDemo.Modules.ProcessMonitor/ # 进程监控模块└── AppDemo.sln # 解决方案文件
webapi主要包含登录,支持sqlite和mysql数据库
4. 功能需求
4.1 主程序功能
- 模块导航菜单
- 动态加载指定目录下的模块
- 事件聚合器实现模块间通信
- 直角坐标系和三维坐标系绘制
- 目标点绘制

4.2 工业相机模块
- 相机连接与配置
- 图像采集与显示
- 相机参数调整

4.3 CAN通信UDS服务模块
- CAN报文录制
- ASC, BLF文件解析
- UDS flash烧录功能
- DBC文件解析和信号发送
- 周立功软件CRC校验
- UDS安全解密(动态调用DLL)
- CAN报文回放
- Bootloader烧录流程界面显示

4.4 电机串口通信模块
- 串口连接与配置
- 电机控制命令发送
- 状态监控与反馈

4.5 程序性能监控
- 系统进程的监控
- CPU、内存、GPU使用率的实时显示
- 线程信息的展示

4.6 转换服务

5 文档. 架构设计
5.1 主程序架构
- Prism模块化架构
- MVVM设计模式
- 依赖注入
- 事件聚合器通信
5.2 模块加载机制
- 基于Prism的模块发现机制
- 动态加载指定目录下的模块
- 模块初始化和卸载
5.3 通信机制
- 事件聚合器实现模块间通信
- 网络通信(UDP, TCP)
- 串口通信
- CAN通信
6. 界面设计
- MaterialDesignThemes风格
- 响应式布局
- 导航菜单
- 模块切换界面
- 数据可视化(坐标系绘制)
7. 技术实现要点
- Prism模块初始化
- 事件聚合器使用
- 坐标系绘制实现
- CAN通信协议处理
- UDS服务实现
- 动态DLL调用
- 文件序列化/反序列化
- 网络通信实现
8. 项目依赖
- Prism.Wpf
- MaterialDesignThemes
- ShowMeTheXAML
- Newtonsoft.Json
- System.IO.Ports
- 第三方CAN库(如PCAN或周立功CAN)
9. 开发计划
1. 创建项目结构
2. 实现主程序框架
3. 开发工具类库
4. 实现坐标系绘制功能
5. 开发各子模块
6. 集成测试
7. 优化与调试
源代码: https://gitee.com/yiyangyu1314/wpf-app-demo.git
夜雨聆风