抖音粉丝群1
『7x24小时有问必答』

前言

工业自动化与智能制造快速发展,生产现场的实时可视化监控已成为企业提升效率、保障质量的重要手段。相比传统的 Web 看板或大型 SCADA 系统,轻量级、高响应、可部署于车间本地的桌面监控平台,在中小制造场景中展现出独特优势。
本文介绍的 WPF 生产监控平台,正是基于这一需求打造的一款专注、简洁、可扩展的 Windows 桌面应用。

项目介绍

平台是一个基于 WPF 开发的 Windows 桌面应用程序,主要用于工厂车间层级的生产状态可视化监控。
系统采用无边框自定义窗口设计,主界面展示车间概览信息,支持点击进入详情页面,并提供设置入口。
整体架构遵循 MVVM 模式,界面与逻辑分离清晰,便于后续功能扩展和维护。

项目功能

1、主监控页面:展示多个车间的汇总运行状态(如设备在线数、生产进度、报警数量等)。
2、车间详情页面:点击车间后进入,显示该车间下产线、工位或设备的详细实时数据。

3、页面切换动画:支持从主页面平滑过渡到详情页,返回时自动淡出并还原主视图。
4、窗口基本操作:提供最小化、最大化/还原、关闭等标准窗口控制按钮。
5、设置功能入口:通过模态对话框打开设置窗口,用于未来扩展参数配置。

项目特点

界面简洁专业:采用深蓝渐变背景与灰白文字搭配,符合工业场景视觉习惯,减少视觉疲劳。
动画流畅自然:使用 WPF 原生动画实现控件滑入/滑出效果,提升用户体验而不依赖第三方库。
架构清晰解耦:视图(View)、视图模型(ViewModel)、用户控件(UserControl)分层明确,便于团队协作开发。
本地部署优先:无需浏览器或网络服务,直接运行于车间工控机,保障低延迟与高可靠性。
易于扩展:新增监控模块只需添加新的用户控件并绑定命令,核心逻辑无需大幅改动。

项目技术

1、开发框架:WPF,基于 .NET(兼容 .NET Framework 或 .NET 6/8)。
2、编程语言:C#,充分利用其面向对象与事件驱动特性。
3、架构模式:MVVM(Model-View-ViewModel),通过数据绑定实现 UI 与业务逻辑分离。
4、命令系统:自定义  ObservableCommand  封装用户交互(如点击、导航),避免后台代码污染。
5、动画实现:使用  Storyboard  配合  ThicknessAnimation  和  DoubleAnimation  控制控件位置与透明度。
6、UI 渲染:采用  RadialGradientBrush  实现背景渐变,VisualBrush  绘制装饰性网格线,图标通过字体编码嵌入。
7、窗口定制:通过  WindowChrome  实现无边框窗口,保留 Windows 标准拖拽与缩放行为。

项目代码

///  <summary>

///  车间详情

///  </summary>

public  ObservableCommand ShowDetail =>  new  ObservableCommand(ShowDetailUserControl);

void  ShowDetailUserControl()

{

       if  (DataContext  is  MainWindowViewModel viewModel)

      {

            WorkShopDetailUC workShopDetailUC =  new  WorkShopDetailUC();

            viewModel.MonitorUC = workShopDetailUC;

             //动画效果(由下向上)

             //线条动画

            ThicknessAnimation thicknessAnimation =  new  ThicknessAnimation(new  Thickness(0,  50,  0,  -50),

                                                                                                             new  Thickness(0,  0,  0,  0),

                                                                                                              new  Duration(TimeSpan.FromSeconds(0.4)));

             //透明度

            DoubleAnimation doubleAnimation =  new  DoubleAnimation(0,  1,  new  Duration(TimeSpan.FromSeconds(0.4)));

            Storyboard.SetTarget(thicknessAnimation, workShopDetailUC);

            Storyboard.SetTarget(doubleAnimation, workShopDetailUC);

            Storyboard.SetTargetProperty(thicknessAnimation,  new  PropertyPath("Margin"));

            Storyboard.SetTargetProperty(doubleAnimation,  new  PropertyPath("Opacity"));

            Storyboard storyboard =  new  Storyboard();

            storyboard.Children.Add(thicknessAnimation);

            storyboard.Children.Add(doubleAnimation);

            storyboard.Begin();

      }

}

项目效果

主界面清晰呈现各车间关键指标。点击任一车间区域,详情页面以由下向上的滑动动画叠加淡入效果呈现,交互直观流畅。
返回主页时执行反向动画,确保视觉连贯性。整个界面响应迅速,在普通工控机上运行稳定,无明显卡顿。
1.png

2.png

3.png

4.png

5.png

6.png

项目源码

项目结构组织规范,主要包括以下部分:
MainWindow.xaml  及其后台代码:负责窗口布局、按钮事件与页面切换逻辑。
MainWindowViewModel.cs:作为主数据上下文,持有当前显示的用户控件(MonitorUC)。
UserControls/  目录:包含  MonitorUC(主监控页)和  WorkShopDetailUC(车间详情页)等可复用控件。
ViewModels/  目录:存放各视图对应的 ViewModel,实现命令与状态管理。
Views/  目录:除主窗口外的其他窗口(如  SettingView)。
源码注释完整,命名语义清晰,大家可快速理解导航机制与动画实现方式,并在此基础上集成实际生产数据源(如数据库、OPC、MQTT 等)。
为了防止丢失,后台回复关键字监控平台,即可获取完整源码地址。
7.png

总结

这款 WPF 生产监控平台虽功能聚焦,却精准解决了车间一线"快速掌握全局、深入查看细节"的核心需求。它不追求大而全,而是以轻量、稳定、易维护为设计原则,充分发挥了桌面应用在边缘场景的优势。对于需要快速搭建本地化生产看板的中小制造企业或自动化集成商而言,该项目提供了一个高质量、可落地的技术参考。

关键词

最后
如果你觉得这篇文章对你有帮助,不妨点个赞支持一下!你的支持是我继续分享知识的动力。如果有任何疑问或需要进一步的帮助,欢迎随时留言。也可以加入微信公众号[DotNet技术匠]  社区,与其他热爱技术的同行一起交流心得,共同成长!
作者:小码编匠
出处:gitee.com/smallcore/DotNetCore
声明:网络内容,仅供学习,尊重版权,侵权速删,歉意致谢!

END

方便大家交流、资源共享和共同成长
纯技术交流群,需要加入的小伙伴请扫码,并备注加群

推荐阅读

觉得有收获?不妨分享让更多人受益
关注「DotNet技术匠」,共同提升技术实力

收藏
点赞
分享
在看

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

上一主题上一主题         下一主题下一主题
QQ手机版小黑屋粤ICP备17165530号

关于我们·投诉举报· 用户帮助· 联系我们 · 本站服务 · 版权声明· 隐私政策 · 投搞指南

法律保护:PLC技术网,plcjs.com,plcjs.net等字样
Copyright 2010-2030. All rights reserved. 


微信公众号二维码 抖音二维码 百家号二维码 今日头条二维码哔哩哔哩二维码