wpf使用的是多层体系结构。在顶层应用程序与安全由托管C#代码编写的一组高层服务进行交互。wpf中的所有绘图内容都由Direct3D进行渲染,不管使用普通的显卡还是使用功能更强大的显卡。
wpf类的层次结构如下所示:

下面对wpf中主要的类进行详细的介绍:
wpf核心命名空间以System.windows开头(如:System.Wiindows、System.Windows.Controls)。
1:System.Threading.DispacherObject:
该类为抽象类。wpf使用的是单线程亲和模型,整个用户界面由单个线程拥有。通过继承DispacherObject类,用户界面中的每个元素都可以检查代码是否在正确的线程上运行,并能通过访问调度程序为用户界面线程封送代码。
2:System.Windows.DependencyObject:
该类为具体类。wpf通过属性与UI上的元素进行交互。属性模型需要具备更改通知、默认继承和减少属性存储空间的功能,这些就是依赖属性的特性,通过继承DependencyObject,WPF可以获得对依赖属性的支持。
3:System.Windows.Media.Visual:
该类为抽象类。WPF窗口中的每个元素本质上都是Visual对象,Visual对象中封装了绘图指令以及如何绘图的附加细节和基本功能。
4:System.Window.UIElement:
该类为具体类。UIElement增加了对WPF本质特征的支持,如布局、输入、焦点和事件。在该类中,原始的鼠标单击和按键操作被转换为更有用的事件,如MouseEnter事件,与属性类似,WPF实现了增强的成为路由事件的事件路由系统,UIElement类中还增加了对命令的支持。
5:System.Window.FramenworkElement:
该类为具体类。该类是WPF核心继承树中的最后一站,实现了一些全部由UIElentment类定义的成员。该类实现了支持它的重要属性,如:HorizontalAlignment和Margin属性。
6:System.Window.Shapes.Shape:
该类为抽象类。WPF中绘制图像的类都继承自该类。
7:System.Windows.Controls.Control:
该类为具体类。可与用户进行交互的元素。控件包括TextBox类,Button类和ListBox类等。Control类为空间类提供了设置字体以及前景色与背景色的附加属性。还可以通过模板支持,使用自定义风格的绘图替换控件的标准外观。在WPF中可视化的内容被称为元素,空间指那些可以接收焦点并能与用户进行交互的元素。
8:System.Windows.Controls.ContenControl:
该类为具体类。表示具有单一内容的控件的基类。
9:System.Windows.Controls.ItemsControl:
该类为具体类。表示所有具有选项集合的控件的基类。
10:System.Windows.Controls.Panel:
该类为抽象类。该类是所有布局容器的基类,
5779

被折叠的 条评论
为什么被折叠?



