为什么很多人“看不起”Winform?
-Begin-
前言
经常遇到还没开始学习C#的学员问我:
Winform和WPF,我应该先学什么?
在很多人眼里,WPF是一门高级技术,而Winform是比较Low的。
今天跟大家聊聊,关于WPF和Winform。
简单聊聊
首先我认为Winform不算是过时的技术,WPF也不算是新技术,两者并不是你死我活的竞争状态,还是不同阶段的不同选择。
就像是汽车一样,Winform偏向于家用代步车,WPF偏向于高级的轿车,不同的价格,不同的性能,不同的定位。
对于刚毕业几年的年轻人来说,家用代步车无疑是更适合的,但是你只要努力,你肯定会到达购买高级轿车的阶段。
所以我的建议是对于初学者来说,学习Winform的成本会更低,学习WPF,你要多学习一门XAML语言。
而且不管是代步车还是高级轿车,都需要有驾照,你才能上手,对于Winform和WPF来说,这个驾照就是C#编程语言。
但是有了一定编程经验,或者是把Winform玩得比较熟了之后,你再接触WPF,会更加容易上手。
两者区别
如果要说Winform和WPF最大的区别在哪里?
我觉得一方面是布局方式,一方面是驱动方式。
首先谈下布局方式,一般来说,界面布局的方式有两种,一种是拖控件,另一种是通过布局控件来实现,而Winform主要是以拖控件的方式为主,配合布局控件做整体布局,而WPF则恰恰相反,虽然也可以拖控件,但是很少这么做,主要是通过编写XAML代码来实现。
再来说下驱动方式,Winform是基于事件驱动,WPF是基于数据驱动,以操作一个按钮,执行一个查询操作为例,Winform是在按钮的点击事件里,写好查询代码,然后将结果展示在数据控件里,而WPF则是通过按钮绑定一个动作方法,数据控件绑定好数据源,在方法里查询即可,这样做的目的就是尽量减少前后端的耦合。
写在最后
无论是Winform还是WPF,都是微软的一种桌面技术而已,都需要采用C#语言来编程,所以不要去论语言或者技术的好与坏,这样眼界会变窄。
不管是什么语言,什么技术,对我们来说,只是一个工具而已,适合自己的才是最好的,能解决问题的就是好的,就像那句谚语,白猫黑猫,能抓老鼠的就是好猫。
可能我们现在主要用的语言是C#,但是也许某一天,我们也会去学python、C++、Java,当具备一定的编程思维和编程能力之后,无论以后是学什么语言,我们都会很快上手。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构