WPF学习:WPF概述

  WPF(Windows Presentation Foundation) Windows演示基础。

1.Windows 图形演化

  众所周知,Windows利用User32和GDI/GDI+来穿件用户界面,但是,WPF的图形界面是以DirectX为基础的,DirectX可以理解高层次的元素,例如纹理和渐变,这些元素可以由显卡直接渲染,所以,DirectX效率很高,充分利用了显卡,大大减轻了CPU的负担,使CPU可以专心做其他事情。

2.WPF的新特征

   (1)类似Web的布局模型:利用特定坐标进行精确的界面布局

   (2)丰富的绘图模型:

   (3)丰富的文本模型

   (4)作为首要概念的动画

   (5)支持音频和视频媒体

   (6)样式和模版

   (7)命令 通过代码抽象,可在特定的位置定义应用程序命令并将它连接到多个空间上。

   (8)声明式用户界面  用户界面和代码完全分离,由图形设计人员可以使用专用工具编辑XAML文件,并最终改进应用程序的前端界面。

    (9) 基于页面的应用程序

3.WPF 分辨率无关性

   传统的Windows应用程序的用户界面是不可伸缩的。所有,如果使用更高的显示器分辨率,像素会排列得更紧密,应用程序窗口将变得更小并且更加难以阅读。

但在WPF中,WPF自己渲染所用的用户界面元素,从简单的 形状到通用的控件。所以,如果在计算机显示器上创建一个1英寸宽的按钮,在更高分辨率的显示器上它仍然能够保持1英寸的宽度-WPF只是使用更多的像素更详细的渲染这个按钮罢了。

4.WPF体系结构

   

WPF学习:WPF概述

  

在顶层,应用程序和一个完全由托管的C#代码编写的一组高层服务进行交互。至于将.NET对象转换为DirectX3D纹理和三角形的实际工作,是在后台由一个名为milcore.dll的低级的非托管组件完成的。milcore.dll是使用托管代码实现的。

PresentationFramework.dll包含了WPF顶层的类型,包含那些表示窗口、面板以及其他类型空间的类型。

PresentationCore.dll包含了基础类型,入UIElement类和Visual类,所有形状类和控件类都继承自这两个类。

WindowBase.dll包含了更多基本元素,包括DispatcherObject类和DependencyObject类。

milcore.dll是WPF渲染系统的核心,也是媒体继承层(Media integration Layer,MIL)的基础。其合成引起将可视化元素转换为Direct3D所期望的三角形和纹理。

WindowsCodecs.dll是一套提供图像支持的低级API

Direct3D是一套低级API,WPF应用程序中的所有图像都由它进行渲染。

User32用于决定哪些程序事件占有桌面的哪一部分

5.WPF核心类

WPF学习:WPF概述

1.System.Threading.DispatcherObject类

通过基础自DispatcherObject类,用户界面中的每个元素都可以检查代码是否在正确的线程上远行,并且可以访问调度程序为用户界面线程封送代码

2.System.Windows.DependencyObject类

依赖属性相关的类

3.System.Windows.Media.Visual类

WPF窗口中显示的每一个元素,本质上都是一个Visual对象

4.System.Windows.UIElement类

 本类为WPF的本质特征提供支持,如布局、输入、焦点以及事件

5.System.Windows.FrameworkElement类

该类实现了一些全部由UIElement类定义的成员

6.System.WIndows.Shapes.Shape类

基本的形状类

7.System.Windows.Controls.Control类

 控件是可以与用户进行交互的元素

8.System.Windows.Controls.ContentControl类

  ContentControl类是所有具有单一内容的控件的基类

9.System.Windows.Controls.ItemsControl类

ItemsCOntrol类是所有显示选项集合的控件的基类

10.System.Windows.Controls.Panel类

容器类

 

你可能感兴趣的:(WPF)