WPF和WinForm技术有什么区别?哪个更加有前景?

这两个技术有什么区别?哪个未来更加的有前景?
关注者
149
被浏览
99,219

16 个回答

结果来说,属于两套界面渲染方式。一个是对传统windows界面元素的封装,
通过gdi绘制。另一个是全新的dx渲染绘制的界面,也脱离了对传统windows控件的依赖,没有历史包袱,理论上可以展现更炫酷的界面。
对初级开发人员来说,没太大区别,类似的基本设计器是他们设计界面的主要手段,一样给事件编写代码。
对初级以上开发人员来说,wpf需要学习xaml,有全新的ui描述语言,特别是可以通过模板的嵌套实现复杂的元素,通过style实现类似css的功能,通过比winform完善的多的数据绑定机制实现业务逻辑可以专心对数据而不是界面进行开发。
前途来说,两者必定还会长期共存。深入理解winform对理解windows一些内部机制有好处。好好学习wpf可以更方便过度到其他xaml相关技术,这是微软目前广泛使用的技术,比如接下来的windows通用应用。
Winform本质上就是在MFC上增加一层.Net API, 从06年开始就只有几个人在维护,基本上不增加任何新feature, 只是做bug fix. 所以,如果你要开发windows上的程序,最好不要使用Winform, 懂了这个技能也没啥用。
Win8开始,微软用了一套新的Framework,但是跟WPF很相像,都是XAML,后面的设计思想也是基本一样的(毕竟是同一组人设计的)
所以,如果你要学Windows上界面开发,WPF算是一个选择吧
另外,从实现上讲,WinForm用的是Windows以前那一套每个控件都是一个窗口的设计,而WPF本身只有一个窗口,所有控件都在这个窗口里的Visual Tree上,另外,它还可以有效利用你的GPU.