WPF简介

目录

1.什么是WPF?

2.WPF的历史?

3.为什么要用WPF及WPF作用

4.WPF与winForm区别?

5.什么是WPF?

1.Windows APIWindows Presentation Foundation (WPF)

:Windows 客户端应用程序,微软推出的基于Windows 的用户界面框架。

WPF是应用程序一个崭新的概念:数据驱动程序,以数据为中心,通过Bind将界面永远定位为从属地位。

说白了就是一个把数据呈现给用户的UI界面。

WPF不是一个简单的UI界面显示 ,它的功能包括可扩展应用程序标记语言 (XAML)、控件、数据绑定、布局、二维和三维图形、动画、样式、模板、文档、媒体、文本和版式。

WPF是基于DirectX引擎的,支持GPU硬件加速,不支持硬件加速时也可以使用软件绘制。高级别的线程进行绘制,提高使用者的体验。自动识别显示器分辨率并进行缩放,比如Vista。

2. WPF技术发展历史

微软1983春宣布研究Windows,微软官方主力推行的编程语言与API有四个主要阶 段:

1983~1991年:C搭配Windows API。当时程序员少,开发一个项目比较困难。

1992~2001年:C++搭配MFC库。MFC是最多人用的Windows编程方法。慢慢的MFC技术逐渐退出了历史的舞台。

2002~2006年:(C#、VB以及其他语言)+Windows Form框架。这段期间IT技术的焦点是在Web上,主角是ASP.NET,而不是Windows Forms。这时WPF就出现。Windows Forms其实是不错的技术,但没有引起大家重视,更偏向于用Delphi和MFC,造成Windows Forms生不逢时。

2007~现在 :2007年1月30日,Windows
Vista正式全球同步发布。它之所以能实现那么绚丽的效果,最关键的一点就是Windows Presentation
Foundation(WPF),WPF所带来的震撼视觉效果和用户体验使Vista的效果如此绚丽,为 Windows
7打下了坚实的继承。后台语言(C#、VB以及其他语言)+XAML构成的WPF。WPF支持硬件加速、精确颜色、浮点坐标、动画实现、三维、视频感受等要求提高。而传统
Winform 是到不到这些效果的。

3.为什么要用WPF及WPF作用

每次的技术前进都会让我们提高工作的效率,WPF为我们减少了很多的代码,而且实现了逻辑与界面很好的分离。

WPF,你可以创建丰富、美妙的连接应用程序,以充分利用 Windows 平台,其中包括 UI、媒体、脱机通信和文档支持。

WPF核心组件
WPF简介_第1张图片
WPF 中的所有显示是通过 DirectX 引擎完成的,可实现高效的硬件和软件呈现。

WPF 对内存和执行进行精确控制。

milcore组件,它的职责是完成与Direct3D的交互,出于效率和安全考 虑,milcore由非托管代码实现。

milcore 中的组合引擎受性能影响关系大,需要放弃 CLR 的许多优点来提高性能。

WPF的两大核心组件PresentationFramework和PresentationCore都位于通用语言运行库(CLR)之上。WPF的大部分代码都是以托管形式存在的。这两大组件提供了WPF项目需要的函数库和功能库,由于是以托管的形式存在,所以也避免了我们直接操 作底层和出现诸如内存泄露的可能性。


4.WPF基本功能和服务

五大块:

Core Presentation:包含了所有的图形效果,如图形、2D图形、3D图形、文本、音频、视频和显示效果。包 括强大的动画效果,动画可以应用前面的所有元素。最下面的那个就是视觉基本元素。

User Interface Services:包含了Application Services(应用程序服务)、Deployment Services(部署服务)、Controls(控件库)、Layout(布局)和Data Binding(数据绑定).

Base Services:提供了XAML支持、Accessibility(提高开发效率)、 Input&Events(输入和事件的支持)、PropertySystem(属性系统)。

Document Servies :基本的打印,实现自定义的打印

XPS Viewer:表报服务,可以通过这些组件显示 效果。

5.基本特性及使用情况***

在输入方面:WPF支持键盘、鼠标、手写笔、触摸屏,蓝牙录入、视频扑捉等,所以基本没有任何限制

外部设备的交互:有驱动、COM、Win32或 通信协议支持的任何设备

打印和报表方面:可访问打印对话框、打印队列、打印窗体、控件以及很多可选操作,对报表也有很好的支持。

支持流文档和固定 文档,对命令的支持以及对文件的无限制访问,尤其在动画、图形图像、3D、影像的支持相当好。

WPF除了在性能方面存在 着缺陷以外,其他方面可以说是做得非常优秀。

相似的技术

WPF:使用XAML定义程序界面(如前所述,可以手工编写,可以采用 Experssion Blend等可视化工具编写),再用.NET语言(C#, VB.Net等)编写相应的逻辑代码。
逻辑代码既可以直接嵌入XAML文件中,也可保存为独立的代码文件
WPF简介_第2张图片
桌面应用程序和Web应用程序

一套编码,桌面应用程序与Web应用程序均可运用。

WPF不仅使美化、多样化了桌面应用程序,也是使Web变得异彩纷呈。WPF使3D进 入Web成为可能。比如,你可以使用矢量图形设计软件(Illustrator, CorelDraw等, 微软也有了!叫“Expression Designer”)设计好图片,然后将图形输出或导出成为XAML格式。然后,你可以在Blend中打开XAML文件,制作成动画,最后生成的也是 XAML。通过.Net语言(如C#)进行编程,还可以控制这些XAML。

WPF与WinForm、silverlight区别

WPF技术比WinForm技术更先进,来取代WinForm技术的。

silverlight是简版的WPF,silverlight只可用于给WEB应用程序添加动态内容。WPF则可以编写在跨越WEB和桌面的应用程序


Windows Forms在底层使用的是GDI+。GDI+是GDI的“面向对象包装”,C++实现。Windows Forms应用程序的GDI+,在C++实现的非托管代码之上又包了一层,从而让我们能使用C#这样的托管编程语言调用GDI+功能绘图。

WPF底层使用的是DirectX,就是通常用来开发游戏的那个DirectX。

Silverlight在API层可以看成是WPF的子集,除了这点之外,Silverlight与WPF无任何联系。Silverlight应用程序不依赖于.NET Framework,用户计算机、手机安装有Silverlight运行环境(比如浏览器添加了Silverlight插件),即可运行Silverlight应用程序。Silverlight运行时环境在API层面也可以看成是标准.NET Framework的功能子集,但它是重新写过的,独立于标准的.NET Framework。

Windows Forms/WPF/Silverlight这三者是独立发展的三个技术领域。微软出于方便开发的目的,有意让Silverlight与WPF在应用层面开发体验(甚至包括大部分应用层代码)高度一致。


Windows Forms/WPF/Silverlight这三者是独立发展的三个技术领域。微软出于方便开发的目的,有意让Silverlight与WPF在应用层面开发体验(甚至包括大部分应用层代码)高度一致。

原文:https://blog.csdn.net/weixin_34248705/article/details/88264062

WPF自适应屏幕

容器控件采用DockPanel 把LastChildFill属性设置True容器控件中包含三个控件,顶层为menu控件 注意menu属性设置 DockPanel.Dock=" href="…/news/?9181.html" target="_blank" top"="" verticalalignment=“Top” ;中间放一个viewbox="" ,viewbox属性设…

你可能感兴趣的:(WPF页面设计,WPF)