WPF类层次结构



类层次


WPF类层次中主要包括:
System.Threading.DispatcherObject、
System.Windows.DependencyObject、
System.Windows.Media.Visual、
System.Windows.UIElement、
System.Windows.FrameworkElement
System.Windows.Controls.Control。

这些内容与PresentationFramework、PresentationCore有关,其中FrameworkElement和Control属于PresentationFramework,其余的类属于PresentationCore。


下面简单说明一下这些类,建议读者在了解类的同时,要注意它们之间的交互关系:

   System.Threading.DispatcherObject WPF中有许多类继承自DispatcherObject,DispatcherObject提供了处理同步和并发的基本构造。WPF建立在dispatcher提供的消息系统之上。它的工作方式很像win32中的消息泵;事实上,WPF的dispatcher使用User32消息来实现线程间调用。

    System.Windows.DependencyObject 构建WPF的一个主要思想是属性优先于方法和事件。属性是声名性的,并且能够更方便实现开发人员。WPF提供了丰富的属性系统,其核心是DependencyObject。它的基础是属性表达式。属性系统提供对属性的稀疏保存。

   System.Windows.Media.Visual Visual是一个抽象类,每个FrameworkElement对象都必须继承该类。该类的主要作用是为WPF提供呈现支持,主要包括输出显示,坐标转换,区域剪切等。以用户界面控件(例如Button,TextBox)为例,这些控件都继承Visual类,并使用该类定义的属性实现所呈现数据的持久化。

    System.Windows.UIElement UIElement是构建WPF元素和基本呈现特征的基类。该类继承自Visual类,其中定义很多与输入和焦点有关的特性,例如键盘事件,鼠标和笔输入。同时,该类还包括一些与WPF事件模型有关的API。

    System.Windows.FrameworkElement FrameworkElement类是连接Framework层次类与Core层次类的连接点。该类不仅继承了UIElement类,而且还添加了一些功能,例如,布局定义、逻辑树、对象生命周期事件、支持数据绑定和动态资源引用、支持样式和动画。

    System.Windows.Controls.Control Control是创建自定义应用程序控件的基类。开发人员可通过重写Control类所提供的属性,方法,事件等,为自定义控件添加自定义逻辑。

   相信以上内容对于读者了解WPF类会有一定帮助,但是只了解这些是显然不够的。作为一名合格WPF开发人员,必须熟悉其他细小,更为常用的WPF类。



3. 开发工具

    由于WPF引入了很多新概念,新架构,因此要实现WPF应用程序的高效开发,必须使用专业的开发工具。这些工具主要分为两种:专业开发工具和专业设计工具。

    专业开发工具 显而易见,创建WPF应用程序最为专业的工具是Visual Studio系列,这主要是指Visual Studio 2005和Visual Studio 2008。Visual Studio 2008是2005的更新版,其直接支持WPF的开发,只需安装在操作系统中即可(Windows XP+SP2,2003和Vista)。Visual Studio 2005则没有那么幸运。除安装基础的Visual Studio 2005之外,开发人员必须安装三个软件包:.NET Framework 3.0(Vista内置该组件),Windows Software Development Kit(SDK)和针对.NET Framework 3.0开发的Visual Studio 2005扩展插件(包括VS 2005 Extensions for .NET Framework 3.0(Workflow)和VS 2005 Extensions for .NET Framework 3.0(WCF&WPF))。这些软件包都可在微软网站免费下载安装。

   专业设计工具 上述Visual Studio工具更多的是帮助开发人员实现程序逻辑,而专业设计工具则倾向于实现图形图像与WPF应用程序的整合。例如,Microsoft Expression Design可创建和编辑2D图形(基于位图或者矢量图),其结果能够导出为XAML代码,这对于WPF应用程序很有益处。又如Microsoft Expression Blend则是一个全新的,全功能的专业设计工具,它可用于创造基于Microsoft Windows平台的丰富、复杂的应用界面。使用Expression Blend可以提供更出色的应用软件,并提升客户的体验和满意度。

   除了以上两类工具之外,读者还可在互联网上找到一些免费工具,例如编写XAML语言的XamlPad,进行性能测试配置的WpfPerf等。这些工具由于缺乏很好的支持,可能会带来一些潜在的问题,因此不建议初学者使用。
posted @ 2009-04-17 18:32  msp  阅读(814)  评论(0编辑  收藏  举报