第一章WPF概述
2012-07-15 15:33 桂仙人 阅读(347) 评论(0) 收藏 举报
Windows Presentation Foundation(简称WPF) 是一个用于windows平台的全新的图形显示系统。
Windows图形
在过去的十几年中windows开发人员在本质上使用相同的显示技术:User32,GDI/GDI+,在过去的几年中这两种技术一直在改进。
Microsoft针对User32和GDI/GDI+库的限制,提供了一个解决方案:DirectX,在WPF中底层的图形显示不再是GDI/GDI+,而是DirectX。DirectX在渲染图形时会将尽可能多的工作交给GPU去处理。WPF是一个用于未来Windows用户界面开发平台,但是目前他不能完全取代Windows窗体,Windows窗体的许多高层显示技术构建于GDI/GDI+以及User32之上,Windows窗体相对对与WPF更成熟。废话不多说,下面简介一下WPF的体系架构:
WPF使用多层体系结构中,在顶层,应用程序和一个完全由托管的C#代码编写的高程服务集合交互,至于将.NET 对象转化成底层的DX的实际工作,在后台是由一个名为milcore.dll的低级非托管组建完成的。

PresentationFramework.dll 包含了WPF顶层的类型,包含那些表示窗口、面板、以及其他类型的控件、它还实现了高层编程抽象,如样式。开发人员使用的大部分类都是来自这个程序集。
PresnetationCore.dll 包含了基础类型,如UIElement类和Visual类,所有的形状类和控件类都继承自这两个类。如果不需要窗口和控件抽象层的全部特性,可以使用者个层。
WindowsBase.dll 包含了更多的基本组成部分,这部分具有在WPF之外重要的潜能,如DispatcherObject类和DependencyObject类,这两大类引入的依赖属性。
Milcore.dll 是WPF的渲染系统,也是媒体继承层的基础,它构建可视化元素转化为Direct3D引擎。
WindowsCodes.dll 是一套提供图形处理的低级API。
Direct3D 是一套低级API,WPF中所有的图形都是由它渲染的。
User32 它不再负责渲染通用控件。
类层次结构:
1.System.Threading.DispatcherObject类
WPF应用程序使用非常熟悉的单线程和模型。这意味着整个用户界面由一个单独的线程拥有。每个WPF应用程序由一个协调消息的调度程序管理。
2.System.Windows.DependencyObject类
在WPF中,和屏幕上的元素进行交互的主要方法是通过属性。WPF决定创建一个更加强大的属性模型,该模型支持许多特性。
3.System.Windows.Media.Visual类
在WPF应用程序中显示在界面上的每个元素,在本职上都是一个Visual对象。
4.System.Windows.UIElement类
该类为WPF的本职特性提供支持,如布局、输入、焦点以及事件。
5.System.Windows.FrameworkElement类
该类是WPF继承树种的最后一站。该类实现了有UIElement类定义的成员。
6.System.Windows.Shapes.Shape类
基本的形状类都继承与该类。
7.System.Windos.Controls.Control类
该类是可以与用户交互的元素。
8.System.Windows.Controls.ContentControl类
该类是所哟普具有内容控件的基类。
9 System.Windows.Controls.ItemsControl类
该类是所有显示选项集合的控件的基类。
10 System.windows.panel类
是所有控件布局的基类,布局容器包含一个和多个子元素。
浙公网安备 33010602011771号