勇哥注:
微软的.net framework的ui框架有两种框架,一个是winform, 一个是wpf,前者主要特点是事件驱动,后者主要特点是数据驱动。
由于wpf在.net core中也是被支持的,并且由于.net core在以后在跨平台的(如手机、平板端)工业软件开发中是主角,我们就可实现鱼和熊掌兼得,即享受wpf也享受.net core。
同时,也是为了我们程序员的饭碗长期能端得住,努力持续的把新技术进行充电是非常有必要。
我们是即幸福又苦逼的一代,即经历过第三次工业革命的红利,又身处红利的末期,内卷无法避免,努力活着吧!
这个系列是勇哥对wpf技术的小实验,读者你得有深厚的winform开发知识,这样才能和勇哥一样体验到wpf的各种妙处。
.net的版本简介
.net framework是我们开发C#工控软件用得最多的版本,它仅支持windows平台。 它的最后一个版本是.net framework4.8, 再没有以后了。
.net Core是跨平台的版本,支持windows, linux, macos。
伴随着.net5这个半成品出世,.net framework和.net core正式合并到一起。
因此你在vs2022中创建wpf项目时,是找不到.net core了,只有net 6,0 和 .net 7.0可选择, 它即是指.net framework,也是指.net Core版本。
由于现在的.net Core已经支持 wpf和winform开发,因此大家可以开始向.net Core转吧,为以后实现一机开发,全部平台可运行做准备。
另外,虽然winform和wpf都可以在.net Core中开发,这是否意味着它们能在Linux和Mac上运行?
不!由于WinForms和WPF在后台使用Windows技术,因此无法在Linux或Mac上运行。它真的依赖于Windows。
在.NET Core上运行它的意义在于性能,并且独立于任何框架。
勇哥感觉,未来的某些设备未必不能实现用平板电脑、手机、苹果电脑来当IPC。
大家想过没有,制约手机、平板、苹果电脑代替IPC的因素有哪些呢?
其实主要是工业设备对pc机专用接口的依赖与平台驱动支持的问题,比如PCI运动控制卡,A/D采集卡,相机网卡。。。。
这些卡多半只支持windows、pc机的pci槽。
另外就是工业专用接口,比如CAN, 485, EtheCAT。。。,这些手机和平板不支持。
但是,如果你的设备就只是要求不高,像做些简单小治具类型的,动作就是搬运、气缸、和plc通讯等。。
勇哥相信还是可以用一台平板电脑、手机或Mac Mini来代替IPC的。
对于某些简单的视觉应用,如果判断有无等的应用,理论上用一台手机就即可以替代IPC+相机+镜头这一套硬件。
.net 与.net core 与.net framework与.net standard之间的关系理解可见下面的贴子。
https://blog.csdn.net/yunxiaobaobei/article/details/123770755
这张图上.net Core没有写上wpf和window forms,不是说.net core支持它们吗?
这是因为它想表达的意思是对跨平台支持,其中uwp是扩展平台支持(支持微软自己的surceface平板,xbox等硬件平台),但是wpf和window forms这两个无法实现扩展平台,因此图中没有标上。
因此,即使我们使用.net core获得了扩展平台的能力,但是我们熟悉的window forms和wpf 除了windows平台之外的平台无用武之地。
实验小程序:MTV点歌程序
需求如下:
全部歌曲页的内容是读取了指定目录下的全部扩展名为*.mkv, *.mp3的音视频文件。
选中的歌曲页是由“全部歌曲”页面添加过来的歌曲。 可以删除该页选中的歌曲。
两个页都可以搜索歌曲,搜索框用户通过输入首拼方式查询结果,并更新列表。(首拼示例: 一壶老酒 YHLJ)
双击歌曲名字,调用视频播放器播放。
此小程序,勇哥已经写过多个开发平台。(好像之前还写过一个易语言版本的,列表中没有)
本次再来一个C# wpf版本的。
------------------------------
Python版本的:
《Python Tkinter 学习成果:点歌软件music》
plc+单片机+c#版本:
《欧姆龙cp1h常用指令学习(十四)练习篇一:红外线遥控点歌》
C#版本的:
vc++与Qt版:
《vs2013+Qt的学习小程序:点歌软件》
C# WF版本
原C++版本的mtv程序界面如下:
wpf的布局
(1)
未完待续。。。。
---------------------
作者:hackpig
来源:www.skcircle.com
版权声明:本文为博主原创文章,转载请附上博文链接!

