WPF在驱动板卡检测系统中的应用AET

(辽宁师范大学计算机信息与技术学院,辽宁大连116000)

0引言

GUI程序开发工具历经了Win32API、MFC、WindowsForms等的变迁,每一次变迁都使开发效率和质量产生飞跃。2007年微软推出了新一代GUI开发工具WindowsPresentationFoundation(WPF),并且把它定为未来10年Windows平台GUI开发的主要技术。WPF基于DirecX底层接口,带来优秀的图形向量渲染引擎。它可以轻松地实现半透明、平移、缩放等绚丽效果[1]。WPF引入了Bingding机制,在开发理念上进行了一次升级,由“事件驱动”变为“数据驱动”。WPF中,数据与空间的关系就是哲学中内容与形式的关系,内容决定形式,以数据驱动页面,这非常符合哲学原理[2]。

1WPF简介

1.1XAML

XAML就是WPF技术中专门用于设计UI的语言。XAML作为界面描述语言最终会被编译成Net后台代码。因此,它能够同后台进行逻辑处理的Net语言如C#、C++等协同工作。XAML的产生使得界面描述代码和程序代码得以分开,从而提高了开发率,有利于团队开发。

1.2DataBinding机制

WPF出现之前,WindowsForms等技术都是采用“事件驱动”理念。尽管可以使用MVC、MVP等设计模式,但界面逻辑和业务逻辑非常容易纠缠在一起,造成代码复杂难懂。而Bingding机制可以实现“数据驱动”,当数据发生变化时,会主动通知界面控件、推动控件显示最新的数据。WPF的核心理念就是变传统的UI驱动程序为数据驱动UI。

1.3依赖属性

依赖属性是WPF技术中新提出的概念。简而言之,依赖属性可以自己没有值,并通过使用Binding从数据源获得值的属性。拥有依赖属性的对象被称为依赖对象。与传统的CLR属性和面向对象思想相比,依赖属性有很多新颖之处:首先它可以节省实例对内存的开销;其次属性值可以通过Binding依赖在其他对象上。

2驱动板卡检测系统

2.1驱动板卡简介

日本精工电子集团在生产集装压电式喷头方面已经具备相当雄厚的实力与基础,稳定性方面就如其生产的精工表一样品质超众[3]。这里的驱动板卡用于控制大型喷墨打印机的喷头。当一个板卡生产出来时,为了检测其性能,需要通过一个喷头板卡检测软件进行检测。此喷头板卡检测软件即为本文讨论的重点。板卡检测软件与板卡通过双绞线连接,并使用UDP协议进行通信。

2.2驱动板卡通信协议

(1)驱动板卡检测系统与板卡之间采用双绞线连接,使用UDP通信协议进行通信。一次完整的通信包括上位机发送命令、下位机应答两部分。其中命令具有事先约定好的格式,第一个字节BYTE0为命令ID,后面跟有若干个字节的参数。下位机接到命令后根据命令ID进行相应的操作并作应答,返回通信结果。

(3)驱动板卡配置数据读取命令。此命令的命令ID为0xAA。应答中,BYTE0为应答ID,BYTE1~BYTE42为以上提到的参数内容。

2.3驱动板卡检测系统设计与实现

图1为驱动板卡检测系统的界面截图。从图中可以看出其主要功能,它实现了数据的下载、读取以及应答的接收。

(1)Net库中的UdpClient类对基础Socket进行了封装,发送和接收数据时不必考虑底层套接字在收发时必须要处理的细节问题,大大降低了UDP编程的难度,提高了编程效率[4]。首先定义一个UdpClient对象,然后调用其Connect成员函数与远程主机进行连接,参数为远程主机的IP地址和端口号。再调用其Send成员函数进行发送,函数参数为要发送的数据及其数据的长度。最后关闭UDP连接。至此完成了一次UDP通信。

(2)数据的写入。此功能将获得各个文本框中的数据。数据在文本框中的格式为字符串,但是本系统需要以字节的形式通过UDP通信发送至板卡,故获得数据后需要对数据进一步处理再发送。

(3)IP地址的检测。每个驱动板卡需要一个唯一的IP地址,因此每当驱动板卡检测系统写入一个IP地址,就要将其记录下来,并在每次写入前检测将要写入的IP是否可用。本系统将每次写入的IP地址存到了SQLite数据库中。SQLite是一款轻型的数据库,它的设计目标是嵌入式的,占用资源非常低,同时,它能够与很多程序语言相结合。因此本系统选择了用SQLite来实现IP地址的存储。首先打开数据库、建立链接。然后执行SELETCT查询语句查看当前IP地址是否已经使用。如已使用则提示“当前IP地址已经使用,请选用其他IP地址”,否则将当前IP地址写入驱动板卡,并存入数据库的IP表。

(5)多线程的应用。多线程技术能很好地解决并发多任务问题,提高资源的利用率和系统的性能,因此计算机的各个领域都对其进行了研究,从不同角度实现或增强了对多线程的支持[6]。同时多线程技术也能提高程序的稳定性,因此在实际开发中有着重要的作用。

3结论

参考文献

[1]王鹏,崔静.新一代界面技术WPF的架构及应用[J].成都纺织高等专科学校学报,2011,28(1):1820.

[2]刘铁猛.深入浅出WPF[M].北京:中国水利水电出版社,2010.

[3]王丽坤.常见喷墨打印头的分类和性能[J].数字化技术,2015(7):3941.

[4]何波,付由甲.C#网络程序开发[M].北京:清华大学出版社,2014.

[5]蒋勇铭,张仲贵,吕刚.基于WPF的LED显示系统的设计与实现[J].电脑知识与技术,2012,8(5):30683070.

[6]贾广雷,刘培玉,耿长欣.多线程技术及其在串口通信中的应用[J].计算机工程,2003,29(1):247249.

THE END
1.模式:WPF应用程序使用程序的模型视图ViewModel设计模式本文演示程序可以作为一个作为其核心体系结构使用 MVVM 实际 WPF 应用程序模板。单元测试演示解决方案中的显示一组 ViewModel 类中存在的该功能时,测试应用程序的用户界面的功能是多么容易。深入详细信息之前, 一下为什么应首先使用像 MVVM 模式。 订单与混乱 是不必要的无法在简单"Hello,World !"程序中使用设计模式https://technet.microsoft.com/zh-cn/library/dd419663.aspx
2.使用.NET开发桌面应用:WPF与WinForms的选择与实践第一节:WPF 与 WinForms 的介绍 和WinForms(Windows Forms)都是.NET桌面应用程序开发的工具。WPF是一种先进的界面开发框架,支持更灵活、更富有表现力的用户界面设计。而WinForms则是.NET桌面应用程序开发的传统工具,使用起来更加直观和简单。 第二节:WPF 的优势和适用场景 https://www.jianshu.com/p/f73846db5050
3.wpf登录界面实例51CTO博客已为您找到关于wpf登录界面实例的相关内容,包含IT学习相关文档代码介绍、相关教程视频课程,以及wpf登录界面实例问答内容。更多wpf登录界面实例相关解答可以来51CTO博客参与分享和学习,帮助广大IT技术人实现成长和进步。https://blog.51cto.com/topic/wpfdenglujiemianshili.html
4.Dashboard:wpf漂亮界面设计开发实例源码下载Dashboard:wpf漂亮界面设计 C#语言基础 下载此实例 开发语言:C# 实例大小:7.67M 下载次数:90 浏览次数:752 发布时间:2022-03-04 实例类别:C#语言基础 发布人:huangwentao111 文件格式:.zip 所需积分:2 相关标签:wpfPFwp登录 网友评论举报投诉收藏该页https://www.haolizi.net/example/view_284769.html
5.WPFMVVM完整示例(登录窗口)wpf登录界面实例,mvvm登录资源**WPF MVVM完整示例(登录窗口)** 在Windows Presentation Foundation (WPF)中,Model-View-ViewModel (MVVM)是一种常见的设计模式,它将业务逻辑、用户界面和数据模型分离,使得代码更加可测试和易于维护。本示例以一个登录窗口为例,深入探讨了MVVM模式在实际应用中的实现细节。 1. **数据绑定**:WPF的数据绑定机制https://download.csdn.net/download/qq_26975307/11754450
6.方法技能:WPF中UI界面设计的XAML代码格式化插件,可以让你早点回家陪GF :) WPF 界面设计 做WPF/Silverlight 的开发人员都知道,VS2010 对XAML 的界面的设计功能进行了很大改进,我们可以在VS2010 中直接拖拽设计XAML 界面布局。同时在使用<Grid> 进行界面布局编辑时,可以直接在设计窗口点击鼠标右键,为<Grid> 添加/删除行或列。 扩展工具VS2010 另一个亮点就是扩https://www.pianshen.com/article/20631741363/
7.私活后的WPF设计经验总结腾讯云开发者社区WPF 是一个界面层框架技术,要对 WPF 技术达到熟练运用的程度,需要同时拥有开发和设计两方面的知识。而我作为一名开发人员,以前的总结都是站在开发人员的角度,今天这篇博文则期望更多地站在设计人员的角度来进行总结。其实,开发人员比较难理解WPF 框架中为什么会提出 Style、Template、Command、State、StoryBoard、Triggerhttps://cloud.tencent.com/developer/article/1031019
8.WPF制作一个简单的倒计时器实例附源码实用技巧在Vs2008中建了个WPF工程后,浏览了下默认生成的工程文件结构,一个App.xaml(当然还有App.xaml.cs)和一个Windows1.xaml(Windows1.xaml.cs)。设计界面也和之前的Window Form程序大不一样了,感觉和Flex差不多,不支持直接拖拽到指定位置的界面设计(在此感谢 cesium和 Muse为我指出问题所在),还真是有点不怎么习惯https://www.jb51.net/article/32847.htm
9.PowerUI全流程跨平台界面开发套件PowerUI全流程跨平台界面开发套件包含有:PUI UX Designer用户体验设计工具,PS Builder 视觉设计辅助工具,PUI Builder 可视化界面开发工具,PUI Control Creato可视化控件开发工具,PUI SDK 界面开发系统支持库。 PowerUI界面实现全流程 1、用户研究与交互设计阶段: http://bj.puiedu.com/news/PowerUIRelease.html
10.WPF使用流文档灵活地显示内容这比较有趣,因为这表示此 XAML 不只是实例化一个段落,并将其文本设为一个简单的字符串;相反,它创建了含有两个子段的一个段落,每个子段包含不同格式的文本。在 WPF 中,这些段称为内嵌元素。就如一个流文档可以包含多个不同类型的块一样,段落也可以包含各种类型的内嵌元素。内嵌元素有多种变体。有些内嵌元素http://m.it168.com/articleq_151001.html
11.wpf界面设计素材网站图片免费下载共有1247341个wpf 界面设计相关内容为您呈现 wpf软件ui界面设计wpf界面设计教程wpf界面设计 【菜心设计铺】原创UI界面设计-nft数藏界面 69 惰性固体_ UI设计 界面设计 系统界面 2 六月鲤 汽车UI界面 汽车中控界面设计 图标设计 4 设计师兔一 汽车UI界面 汽车中控界面设计 图标设计 特斯拉 https://www.zcool.com.cn/tag/ZNDU5NDk1Ng==.html
12.WPF超酷界面设计WPF超酷界面设计评分: 一款WPF超酷界面设计演示(内含程序源代码)。 WPF界面设计2016-01-11 上传大小:1427KB 所需:46积分/C币 C#仿office 2007 word 超酷 C#仿office 2007 word 超经典中的经典! 上传者:a137188467时间:2007-12-01 利用C_实现超酷动态图像按钮 https://www.iteye.com/resource/lovecsdn1-9399288
13.WPF软件界面设计/物联网UI设计/触摸屏设计/9年经验服务内容全部包含: 1.沟通需求,确定设计方向,设计风格。 2.提供JPG效果初稿,雇主反馈、修改满意定稿。 3.搭建WPF开发框架。根据定稿后的jpg效果,输出xaml界面。 4.提供的xaml界面输出,采用模拟静态数据做填充。通过运行exe程序充分展示界面效果。 5.对雇主开发团队提供wpf技术指导及细节优化调整。 服务优势: (1)14https://www.zbj.com/fw/555582.html
14.WPF多点触控用户界面的设计与实现.docxWPF多点触控用户界面的设计与实现.docx 29页内容提供方:资教之佳 大小:40.25 KB 字数:约1.38万字 发布时间:2024-06-12发布于浙江 浏览人气:40 下载次数:仅上传者可见 收藏次数:0 需要金币:*** 金币 (10金币=人民币1元)WPF多点触控用户界面的设计与实现.docxhttps://m.book118.com/html/2024/0606/5303231111011222.shtm