5.6 KiB
5.6 KiB
Sharp Framework Examples
本目录包含 Sharp 框架各个功能的示例项目,帮助你快速上手。
📚 示例项目列表
基础示例
1. 01-MinimalWpfApp - 最小 WPF 应用 ⭐
演示内容:
- 最简单的 Sharp WPF 应用
- 仅使用 Common + Wpf 模块
- MVVM 基础(ViewModelBase, Commands)
- 对话框服务
适用场景:刚接触 Sharp 框架,想快速了解基本用法
运行:
cd examples/01-MinimalWpfApp
dotnet run
2. 02-WpfWithDatabase - WPF + 数据库 ⭐⭐
演示内容:
- WPF + SQLite 数据库
- Repository 模式(CRUD操作)
- 数据绑定与列表展示
- 添加/编辑/删除产品
适用场景:需要本地数据存储的桌面应用
技术栈:Common, Config, Wpf, Data (SQLite)
3. 03-FormValidation - 表单验证 ⭐⭐
演示内容:
- ValidatableViewModelBase 使用
- DataAnnotations 验证
- 实时验证反馈
- 错误消息显示
适用场景:需要用户输入验证的应用
4. 04-Navigation - 导航系统 ⭐⭐
演示内容:
- INavigationService 使用
- 多页面导航
- 前进/后退功能
- 页面间参数传递
- 导航生命周期(INavigationAware)
适用场景:多页面 WPF 应用
5. 05-Localization - 国际化 ⭐⭐
演示内容:
- 多语言支持(中文、英文)
- LocalizeExtension XAML 绑定
- 运行时切换语言
- 资源文件管理
适用场景:需要多语言支持的应用
6. 06-Theming - 主题系统 ⭐⭐
演示内容:
- 浅色/深色主题切换
- 自定义主题颜色
- 跟随系统主题
- 动态主题切换
适用场景:需要主题切换的现代应用
工业IoT示例
7. 07-PlcMonitoring - PLC 监控 ⭐⭐⭐
演示内容:
- 连接西门子 PLC
- 实时数据监控
- 数据变化订阅
- 读写PLC标签
- 数据可视化(图表)
适用场景:工业自动化、设备监控
技术栈:Wpf, Plc.Siemens, Cache(缓存历史数据)
8. 08-SerialPortComm - 串口通信 ⭐⭐
演示内容:
- 串口自动发现
- 数据收发
- HEX/ASCII 显示
- 数据记录
适用场景:串口设备通信、调试工具
技术栈:Wpf, Ports
网络示例
9. 09-HttpServer - 嵌入式 Web 服务器 ⭐⭐⭐
演示内容:
- 在 WPF 应用中嵌入 HTTP 服务器
- RESTful API 实现
- 中间件使用(CORS, 认证, 日志)
- WPF 界面管理服务器
适用场景:设备管理后台、本地Web服务
技术栈:Wpf, NetServer, Log
10. 10-HttpClient - HTTP 客户端 ⭐⭐
演示内容:
- 调用外部 API
- 重试策略(Polly)
- Result 错误处理
- 缓存 API 响应
适用场景:需要调用外部服务的应用
技术栈:Wpf, NetClient, Cache
综合示例
11. 11-FullStackDemo - 完整功能演示 ⭐⭐⭐⭐
演示内容:
- 用户登录(数据库验证)
- 产品管理(CRUD)
- PLC 数据监控
- 串口通信
- 数据报表导出
- 多语言
- 主题切换
- 配置热重载
适用场景:工业监控系统、MES系统、数采系统
技术栈:全部模块
12. 12-CachingDemo - 缓存使用 ⭐
演示内容:
- 字典数据缓存
- API 响应缓存
- 计算结果缓存
- 缓存失效策略
技术栈:Wpf, Cache, NetClient
13. 13-EventBusDemo - 事件总线 ⭐
演示内容:
- 跨模块通信
- 事件发布/订阅
- 解耦架构
技术栈:Wpf, EventBus
🚀 快速开始
运行示例
# 1. 克隆仓库
git clone https://github.com/your-repo/sharp-basic.git
cd sharp-basic/examples
# 2. 选择一个示例
cd 01-MinimalWpfApp
# 3. 还原依赖并运行
dotnet restore
dotnet run
从示例创建新项目
# 复制示例作为起点
cp -r examples/02-WpfWithDatabase MyNewProject
cd MyNewProject
# 修改项目名称
# 编辑 .csproj 文件和命名空间
# 开始开发!
📖 学习路径
新手推荐路径
- 01-MinimalWpfApp - 了解基础
- 02-WpfWithDatabase - 学习数据库操作
- 03-FormValidation - 掌握表单验证
- 04-Navigation - 理解导航系统
工业自动化开发者
- 07-PlcMonitoring - PLC 通信
- 08-SerialPortComm - 串口通信
- 11-FullStackDemo - 完整系统
Web 开发者转 WPF
- 09-HttpServer - HTTP 服务器
- 10-HttpClient - HTTP 客户端
- 06-Theming - 主题系统
💡 示例代码说明
所有示例都遵循:
- ✅ 最佳实践:展示推荐的使用方式
- ✅ 完整代码:可直接运行,无需额外配置
- ✅ 详细注释:中文注释,解释关键代码
- ✅ README:每个示例都有独立的 README
🛠️ 技术要求
- .NET 8.0 SDK
- Visual Studio 2022 或 VS Code (推荐安装 C# Dev Kit)
- Windows 10/11 (WPF 应用需要 Windows)
📝 贡献示例
欢迎贡献新的示例!请确保:
- 代码简洁明了
- 包含 README 说明
- 注释使用中文
- 可独立运行
❓ 常见问题
Q: 示例可以直接用于生产吗? A: 示例代码主要用于学习,生产使用需要根据实际情况调整(如安全性、错误处理、日志等)。
Q: 示例使用什么数据库? A: 大部分示例使用 SQLite(无需安装,开箱即用),也有 SQL Server 示例。
Q: 可以在 .NET Framework 上运行吗? A: 不可以,Sharp 框架基于 .NET 8,需要 .NET 8 运行时。
选择一个示例开始你的 Sharp 之旅吧! 🎉