WPF概述

1、WPF使用DirectX图形引擎,图形渲染时,尽可能让显卡GPU去做,提高了硬件加速;

2、对比Winform,User32组件得以保留,但是只是用来处理和路由输入信息以及区分哪个应用程序实际拥有屏幕的哪一部分;

3、WPF有分辨率无关性,不同分辨率尺寸大小保持布标;

4、WPF单位被定义为1/96英寸;

5、WPF体系结构,如图所示:

PresentationFramework.dll,包含WPF顶层的类型,包括哪些表示窗口、面板以及其他类型控件的类型。它还实现了高层编程抽象,如样式;开发中使用的大部分类都来自这个程序及;

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

WindowsBase.dll,包含更多基本要素,如DispatcherObject和DependencyObject类,这两个类引入了依赖属性;

milcore.dll,有时候称为“图形托管”引擎,是WPF渲染系统的核心,也是媒体集成层的基础;

6、类层次结构:

6.1、DispatcherObject类

通过继承自该类,用户界面中的每个元素都可以检查代码是否在正确的线程上运行,并能通过访问调度程序,为用户界面现成封送代码。

6.2、DependencyObject类

通过继承该类,WPF类可以获得对依赖属性的支持。

6.3、Visual类

WPF窗口中显示的每个元素本质上都是Visual对象。可以该类视为绘图对象,其中封装了绘图指令、如何执行绘图的附加细节,如透明度、裁剪以及变换位置,以及基本功能(命中测试);该类还在托管的WPF库和渲染桌面的milcore.dll程序及之间提供了链接,任何继承自该类的类都能在窗口上显示出来。因此,可以直接对该类进行编程也可以创建轻量级的用户界面。

6.4、UIElement类

该类增加了对WPF本质特征的支持,如布局、输入、焦点、和事件。

6.5、FrameworkElement类

该类是WPF核心继承树种的最后一站,实现了一些全部由UIElement类定义的成员。例如,UIElement为WPF布局系统设置了基础,但FrameworkElement类提供了支持它的重要属性,如HorizontalAlignment和Margin属性;UIElement类还添加了对数据绑定、动画以及样式等核心功能的支持。

6.6、shape类

基本的形状类。

6.7、Control类

是可以与用户进行交互的元素,包括TextBox、Button、ListBox等,该类为设置字体以及前景色与背景色提供了附加属性,并且支持模板,在WPF中可视化的被称为元素,只有和用户交互的称为控件,Panel类是所有布局容器的基类,定义在Control类中,但是不被认为控件。

6.7、ContentControl类

是所有具有单一内容的空间的基类,包括简单的标签乃至窗口的所有内容,该空间中的单一内容可以是普通字符串乃至具有其他形状和空间组合的布局面板。

6.8、ItemsControl类

是所有显示选项集合的控件的基类,如ListBox和TreeView控件。

6.9、panel类

是所有布局容器的基类,布局容器是一个可以包含一个或多个子元素、并按特定规则对子元素进行排列的元素。

 

7、WPF工具包

8、小结

 

 

 

 

 

 

7、WPF工具包

 

 

posted @ 2020-03-30 11:51  著名工程师  阅读(382)  评论(0)    收藏  举报