什么是WPF?
WPF是Windows Presentation Foundation(Windows展示基础)简称,顾名思义是专门编写表示层的技术。WPF绚丽界面如下:
GUI发展及WPF历史?
Windows系统平台上从事图形用户界面GUI(Graphic User Interface)已经经历了多次换代,从Win32API->MFC->ActiveX/COM/Visual Basic->WinForm,每次都使开发效率和质量产生飞跃,从2007年开始推出新一代GUI开发工具(WPF),使Windows程序GUI界面开发炫更简单。
WCF、WPF与Silverlight的关系?
WCF是Windows通讯开发平台,它整合了原有的windows通讯的 .net Remoting,WebService,Socket的机制,并融合有HTTP和FTP的相关技术。统一了微软多种分布式技术(对外是一个系统,但是实际上是将系统分别运行到不同的服务器上),如Web Service,.Net Remoting,.Net 企业服务,MSMQ等。是微软最佳的数据访问层,而这一数据访问层的最佳消费者是WPF和Silverlight。Silverlight是WPF的一个子集,是WPF的“网络版”,与WPF有大部分的技术重叠,也就是说学好了WPF,Silverlight就学习的差不多了。
WPF与WinForm的区别?
WinForm是事件驱动型的,底层使用的是GDI(图形设备接口)技术,优点是更加直接和直观;缺点是耦合性大。
WPF是数据驱动型的,底层使用DirectX(多媒体编程接口)技术,优点是能做出漂亮UI,UI与逻辑解耦,数据绑定使得开发更容易;缺点是占用资源较大,较低版本windows系统不能运行。
学习WPF的好处?
WPF由两部分组成,一个是用XAML写的界面,一个是C#写的后台代码,它们之间通过绑定的方式进行通信和联系,能很好的减少表示层与数据和业务逻辑之间的耦合,人员能更好分工,提供开发效率,也使得项目更加健壮(结构清晰,便于维护和扩展)。WPF开放了更深层的控件细节,并允许用户修改,用户能方便做出很炫丽的控件和UI。
WPF学习注意事项和前景
WPF虽然减少了UI与逻辑的耦合,但他们之间的关系是通过绑定,命令等方式进行联系的,看起来不会那么之间,需要开发人员熟悉他们之间的绑定关系,并熟悉命令、路由、事件等相关技术。WPF提供的控件比较少,需要开发或UI自定义控件,熟悉控件细节和相关参数,熟练掌握附件属性、模板、样式、动画等相关技术。总之WPF入门是比较难的,但是属性之后你将开启多彩世界的大门。
WPF能够很容易做出绚丽的界面,对于公司产品而言这肯定是加分的,也是微软在Windows平台面向未来的技术,有较大开发前景。由于WPF是基于Windows平台的,不能跨平台,所以开发者也可以学习.NET、.NET Core、Silverlight、Xamarin等网页,移动和跨平台技术来丰富自己技术能力。
WPF疑难解答
Xaml与Xml区别和联系?
Xaml是Xml派生出来的语言,拥有Xml很多相似的特性,用来与后台程序进行分离解耦。
Xaml与后台代码如何结合在一起,并可相互引用它们之间对象?
Xaml文件和后台cs文件都使用了partial(部分,可以把一个类拆分多处使用)关键字,使得它们相互分离有相互依存。