论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com
»
论坛
›
数据库
›
Mysql
›
WinUI(WASDK)项目实践——优雅的开发上位机应用(新) ...
WinUI(WASDK)项目实践——优雅的开发上位机应用(新) ...
用户国营
金牌会员
|
2022-9-16 17:25:05
|
显示全部楼层
|
阅读模式
楼主
主题
977
|
帖子
977
|
积分
2931
摘要
这就是一个记录自己进行WinUI项目实践的博客,项目开源地址如下,觉得有帮助的可以去看看,因为项目都开源了,所以保姆级的讲解肯定不如直接看代码来的实在了。
电子脑壳项目地址
为什么叫新
因为之前发过一篇讲开发上位机应用的博客,所以作为区分就把这篇成为新的一篇了,微软最新的windows应用开发框架是WindowsAppSDK这个大家都有听说过,当然大家实际项目中使用的多不多就不知道了。
有人说WPF还能再战很多年,对于我来说,我刚做客户端开发的时候接触的就是UWP,现在要我返回去做WPF我感觉有点不习惯,当然做Winform的话我还能适应。言归正传,年轻人都喜欢新事物,所以我也不例外就拿最新的框架上手了。
项目实践和DEMO的区别
项目实践个人感觉是要做一套有正常操作流程的应用,并且保证大多数的场景下都不会出异常,这样用起来才能像个正常软件一样,要是demo的话肯定就是只是分单元的验证某个功能的正常与否。
在框架选定之后,肯定就是进行功能的拆分,方案的查找验证,然后再进行代码的编写。
以我写的
电子脑壳
应用为例分析
功能列表
时间显示
动作控制
人脸数据展示和表情识别
需要验证的功能
摄像头的操作
usb读写
这些都考量好了,就可以进行实际的开发了。
实践中遇到的一些挑战
1. 摄像头帧处理事件
先来一张应用首页图
这个电子脑壳的应用已经开源了,
项目地址
就是在我使用社区工具包了里的相机帮助类处理相机的帧到达事件时,本来在uwp里正常的代码,放到WinUI里就会莫名的失效,现象就是帧到达事件不会持续触发了,这个问题我在翻阅uwp的文档的时候好像文档中有提到,大概是如下的问题,我想这个应该在WinUI里应该也有同样的问题。
所以我就找了官方的DEMO进行验证,终于把uwp的代码迁移到WinUI之后验证了这个问题。
迁移后的摄像头操作demo地址如下
项目地址
DEMO图如下
2. 串口连接触发事件
之前我在UWP里用的好好的代码,放到WinUI项目的时候怎么都不触发了,我以为WinUI有BUG就没管了,直到后来看到了官方文档,才发现自己一直都忘了调用这个Start方法,表示很丢人。
之所以需要这个功能,是因为我想实现设备的热插拔功能,这样拔掉插上设备就不用重启应用了。
临时方案的处理
对于摄像头帧触发事件的临时方案我选择了用OpenCVSharp处理摄像头的数据,然后再处理帧 将帧转化成SoftwareBitmap然后再用windows AI库进行表情识别。
用起来感觉也还可以就是有些消耗CPU资源。
其他的一些小问题,因为WinUI是基于.net6运行的,所以.net的库基本上都能使用,而且WinUI应用权限比UWP高多了,可以随心所欲的做一些事情,所以解决起来也是很容易的。
心得感悟
WinUI虽不完美,但是未来可期,希望微软的团队能够好好的完善这个框架,不能像UWP那样半死不活。
还有在做项目实践的时候,框架选定好了,一定不要反复横跳,要想办法解决问题,而不是换框架,方法肯定有很多,需要我们认真阅读文档和找到一些使用方式,即使官方确实不支持,我们也可以反馈给官方,或者自己参与贡献,这样也会促进框架的完善。
特别鸣谢以及参考推荐文档
感谢
dino.c
大佬的一个番茄钟,因为我的表盘其实就是抄他番茄钟的代码。
感谢
h哥
和
火火
给的一些思路。
当然还要感谢
超超
,毕竟有些代码还是抄他的。
参考推荐文档如下
一个番茄钟
Win2D samples
opencvsharp
WindowsAppSDK
WindowsCommunityToolkit
ElectronBot
ElectronBot.DotNet
LibUsbDotNet
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
用户国营
金牌会员
这个人很懒什么都没写!
楼主热帖
Beta 阶段事后分析
iOS全埋点解决方案-APP和H5打通 ...
Android studio实现网上订餐app
mysql主从搭建
完整版彻底卸载SQL Server2019
复杂「场景」数据导入导出
分布式锁
【云原生】-如何搭建配置Docker私有仓 ...
什么是谓词下推,看这一篇就够了 ...
mysql精确查年龄
标签云
AI
运维
CIO
存储
服务器
浏览过的版块
Oracle
IOS
快速回复
返回顶部
返回列表