锐英源软件
第一信赖

精通

英语

开源

擅长

开发

培训

胸怀四海 

第一信赖

当前位置:锐英源 / 开源技术 / WPF、WPF开源社区、WPF开发和WPF教程
联系方式
固话:0371-63888850

手机:138-0381-0136

Q Q:396806883
微信:ryysoft

WPF

背景

最近做4K屏幕高DPI支持,看到UWP概念和WPF UI框架,2者都会轻送支持4K屏幕高DPI,所以此时做些笔记研究下。

WPF的界面处理是描述性的,用的语言是XAML,XAML是标记语言的一种,其实Winform或较早的VC++里的RC,也是要用文本描述界面,但是习惯了使用VS的所见即所得界面设计方式,用XAML或HTML+CSS这类,写描述自己想界面结果很不适应。说白了,标记语言、手写脚本、分离的特征和非百分百所见即所得真是不适应,现在有软件在图片上拖一下就能出界面效果,还要先让适应手写,真是很不适应,特别是对初学者,加大了学习难度。

另外对WPF的趋势,本人不太看好,Web前端发展很快,写普通的界面Web前端形式更有优势,除非要求和Win平台无缝对接要求性能强点的界面才有可能用上WPF。总结就是WPF有机会用,学了就学了,反正它的思想在Web前端和小程序员这类开发上,也有可借鉴之处。

WPF

WPF代表Windows Presentation Foundation,是Microsoft对GUI框架的最新方法,与.NET框架一起使用。

GUI代表图形用户界面,您现在可能正在看一个。Windows具有用于与计算机配合使用的GUI,您很可能在其中阅读本文档的浏览器具有允许您上网冲浪的GUI。

GUI框架允许您使用各种GUI元素(例如标签,文本框和其他众所周知的元素)创建应用程序。如果没有GUI框架,则必须手动绘制这些元素并处理所有用户交互方案,例如文本和鼠标输入。这是一项繁重的工作,因此,大多数开发人员将使用GUI框架来完成所有基本工作,并允许开发人员专注于开发出色的应用程序。

目前有许多GUI框架,但是对于.NET开发人员而言,最有趣的框架是WinForms和WPF。WPF是最新的,但Microsoft仍在维护和支持WinForms,两个框架之间有很多差异,但是它们的目的是相同的:轻松使用出色的GUI创建应用程序。

WPT和WinForms比较

WinForms和WPF之间最重要的区别是,虽然WinForms只是标准Windows控件(例如TextBox)之上的一层,但WPF是从头开始构建的,并且在几乎所有情况下都不依赖于标准Windows控件。这看似细微的差别,但实际上并非如此,如果您曾经使用过依赖Win32/WinAPI的框架,则一定会注意到。

一个很好的例子是带有图像和文字的按钮。这不是标准的Windows控件,因此WinForms不会立即为您提供这种可能性。取而代之的是,您将必须自己绘制图像,实现支持图像的自己的按钮或使用第三方控件。使用WPF,按钮可以包含任何内容,因为它本质上是带有内容和各种状态(例如,未触摸,悬停,按下)的边框。WPF按钮与大多数其他WPF控件一样,都是“无外观”按钮,这意味着它可以在其中包含一系列其他控件。您想要一个带有图像和一些文本的按钮吗?只需将Image和TextBlock控件放在按钮内部,即可完成!您根本无法从标准WinForms控件中获得这种灵活性

这种灵活性的缺点在于,有时您需要付出更多的努力才能实现WinForms非常容易的事情,因为它是针对您所需的场景而创建的。至少从一开始就是这种感觉,您会发现自己创建模板来制作具有图像和一些对齐好的文本的ListView,这是WinForms ListViewItem在单行代码中所做的事情。

这只是一个差异,但是当您使用WPF时,您会意识到,这实际上是许多其他差异的根本原因-WPF只是以自己的方式做事,无论好坏。您不再受制于以Windows方式进行操作,而是要获得这种灵活性,而您实际上只是想以Windows方式进行操作时,您需要付出更多的工作。

以下是WPF和WinForms的主要优点的完整主观清单。它应该使您对要进行的工作有了更好的了解。

WPF的优势
它较新,因此与当前标准更加一致
Microsoft正在将其用于许多新应用程序,例如Visual Studio
它更加灵活,因此您无需编写或购买新控件就可以做更多的事情
当您确实需要使用第三方控件时,这些控件的开发人员可能会更专注于WPF,因为它较新
XAML使得创建和编辑GUI变得容易,并且允许在设计人员(XAML)和程序员(C#,VB.NET等)之间拆分工作。
数据绑定,使您可以更清晰地分离数据和布局
使用硬件加速来绘制GUI,以获得更好的性能
它允许您为Windows应用程序和Web应用程序(Silverlight/XBAP)制作用户界面
WinForms的优势
它比较老,因此经过更多的尝试和测试
您已经可以免费购买或购买许多第三方控件
在撰写本文时,Visual Studio中的设计器对于WinForms而言仍然比对WPF更好,在WPF中,您必须自己使用WPF进行更多工作

WPF开源社区
WPF开发

这里推荐个WPF UI库,www.infragistics.com,高性能,容易和Office开发结合,支持桌面和移动设备,兼容.NET5.

 
WPF教程

这里会有全面的WPF教程和WPF视频,也可以对大家为特别的事关注的技术进行特别的定制教程和特别制作视频,锐英源有20多年开发和翻译经验,WPF教程和WPF视频会深度研究,深得人心。

 
友情链接
版权所有 Copyright(c)2004-2021 锐英源软件
公司注册号:410105000449586 豫ICP备08007559号 最佳分辨率 1024*768
地址:郑州大学北校区院(文化路97号院)内