首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训
    图书品种:235680
       
热门搜索: ASP.NET Ajax Spring Hibernate Java

3.5  漫游类层次

WPF类有深度继承层次,因此要把不同的类和它们之间的关系搞清楚很困难。本书封二有一张类地图,当遇到新类时可以查阅它,理清它们的位置和关系。由于空间有限此图并不完整,但其中涵盖了大多数的类。

有一批类是WPF内部工作机制的基础,在继续下面的讲解之前,我们先对这些类做一个快速的解释,其中有一些已经在之前的讲解中带过了。图3-9显示了这些重要的类以及它们的关系,它是类地图的一部分。

这10个类有以下一些显著的特点:

l    Object类——所有.NET类的基类。

l    DispatcherObject类——只能在创建它的线程上访问的对象的基类。大多数WPF类派生自DispatcherObject,因此都继承了非线程安全特性。这里名字中的Dispatcher是指WPF中类似Win32的消息循环的东西,将在第7章中讲解。

l    DependencyObject类——支持依赖属性的任何一个对象的基类。DependencyObject定义了GetValue和SetValue方法,是依赖属性运作的中心方块。

图3-9  WPF的核心类

l    Freezable类——出于性能原因,可以被“冻结”为一个只读状态对象的基类。一旦被冻结,Freezable对象可以在多个线程中安全共享,这与其他DispatcherObject对象是不同的。冻结的对象就不能被解冻,但是可以复制这些冻结对象来创建一个非冻结的副本。

l    Visual类——拥有自己的可视呈现的对象的基类。在第11章中,将深入讨论Visual对象。

l    UIElement类——支持路由事件、命令绑定、布局和焦点的可视对象的基类。

l    ContentElement类——类似于UIElement的基类,但是它是为那些没有呈现行为的内容准备的。ContentElement寄宿于派生自Visual的类中,然后呈现在屏幕上。

l    FrameworkElement类——支持样式、数据绑定、资源和一些通用机制的Windows控件的基类,如tooltips(工具提示)和context menus(上下文菜单)。

l    FrameworkContentElement类——类似于FrameworkElement的类,用于表示内容。在第14章中分析了WPF中的FrameworkContentElement对象。

l    Control类——一些耳熟能详的控件的基类,如Button、ListBox和StatusBar.Control类,在FrameworkElement基类的基础上添加了很多属性,例如Foreground、Background和FontSize。Controls也支持一些模板,可以完全替代它们的可视树,这些将在第10章中讲解。在下一章中将深入讲解WPF的控件。

在本书中,我们用简单的术语元素指派生自UIElement或FrameworkElement的对象,有时也指派生自ContentElement或FrameworkContentElement的对象。UIElement和FrameworkElement之间或ContentElement和FrameworkContentElement之间的区别并不重要,因为WPF不会带有UIElement和ContentElement的任何公开子类。

查看所有评论(0)条】

最近评论



正在载入评论列表...
热点评论