由于工作需求需要学习C#来进行桌面应用程序开发。而当前C#下的桌面应用程序开发主要是WinForm和WPF 。
一、界面渲染方式
1、WinForm
是.Net
开发平台中对Windows Form
的一种称谓。本质就是在MFC上增加一层.Net API
。winform
的设计器是VS
自带的控件进行拖拽,设置控件对应的属性,事件。WinForm
是对传统windows
界面元素的封装,通过gdi
绘制。
2、WPF
是微软推出取代WinForm
的产品,能够做到分离界面设计人员和开发人员的工作。而WPF
的设计器是用xaml
语言来写的,就像写html
一样。WPF
则是全新的dx
渲染绘制的界面,也脱离了对传统windows
控件的依赖,没有历史包袱,理论上可以展现更炫酷的界面。
总结:
1、WinForm
是“前后端”不分离的,wpf
是前后端分离的。WinForm
的设计器和CS
文件的编码“耦合度”太高了,不能独立进行设计页面。
2、界面的UI
肯定是wpf
好看了,扩展性也比较高,但是前提是要会写样式,它对样式比较自由。
3、wpf
可以数据类似vue=>data
绑定,使用Binding
来进行数据的绑定轻松舒服的太多,WinForm
没有这样的使用,控件的值需要内部赋值才能起到wpf
的这块的效果。
3、控件自适应:wpf
比WinForm
好太多了,无论是界面布局还是窗体自适应方面。
4、WinForm
的难度比wpf
相对低,很适合小白入门,因为wpf
你还要学习xaml
的语法,它的布局方面对新手来说有点困难。
目前就
WinForm
就可以处理日常的工作需求,等后期有需要在学习WPF
。