技术开发 频道

WPF 4的九大新特性全解析

  【IT168专稿】本文将大致地介绍有关Windows Presentation Foundation(WPF)4的新增加的以及一些增强功能。具体来说,本文中将包含以下内容: 新控件、可视化状态管理器、触摸屏编程、 图形和动画、 文本、 绑定、 XAML浏览器应用程序、 WPF和Windows、 WPF和Silverlight设计器。

  一、新控件

  又有三个新的控件被添加到WPF 4中,从而更易于创建业务型应用程序。请注意,这些控件几乎完全兼容于Silverlight的各个版本。这有助于使开发人员实现代码重用,从而快速创建客户端应用程序和Web应用程序。这三个新引入的控件分别是: DataGrid、 Calendar、DataPicker。

  二、可视化状态管理器

  WPF 4针对在ControlTemplate模板中改变可视化状态提供了更好的支持。VisualStateManager类及其他相关支持类被添加到WPF 4中,这使开发人员可以使用诸如Microsoft Expression Blend这样的工具根据控件的视觉状态来定义其外观。例如,当一个Button控件处在按下状态时您可以定义它的外观。想了解更多的有关利用VisualStateManager为现有控件创建ControlTemplate模板的信息,请参阅文章《通过创建ControlTemplate模板定制现有控件的外观》。有关使用VisualStateManager创建新控件的信息,请参阅另一篇文章《创建具有可定制外观的控件》。

  【注意】对于没有提供模板ControlTemplate的元素也可以利用VisualStateManager的GoToElementState方法实现状态间的过渡效果。

  三、触摸屏编程

  现在,WPF元素可以使用触摸式输入。当用户触摸触摸屏上的元素时,UIElement、UIElement3D和ContentElement类都定义了相应的事件供开发者使用。除了触摸事件外,UIElement类还支持触控(Manipulation)。所谓触控,是指用户可以通过触摸屏缩放、旋转或平移一个UIElement元素。例如,一款图片浏览应用程序可能会允许用户通过触摸计算机屏幕上的照片来移动、缩放、调整尺寸和旋转照片。欲了解有关触摸屏编程的更多的信息,请参阅文章《演练:创建您的第一个触摸应用程序》和《输入概述》。

  四、图形和动画

  在图形和动画方面,也有几处新的更动。

  1. 布局舍入(Layout rounding)

  当一个物体的边缘正好位于一个像素设备的中间时,DPI独立的图形系统能够创建诸如模糊或半透明边缘这样的艺术效果。早期版本的WPF中包含了像素对齐(pixel snapping)功能以帮助实现这样的效果。从Silverlight 2开始引入了布局舍入技术,这是另一种移动元素的技术,以便使元素的边缘落在整个像素的边界。现在,WPF也提供了对布局舍入的支持,这是通过FrameworkElement类的关联属性UseLayoutRounding实现的。

  2. 缓存组件

  通过使用新引入的BitmapCache和BitmapCacheBrush类,你可以缓存可视树中的复杂部分(例如位图),从而大大提高了渲染速度。位图仍然能够保持对用户输入(如鼠标单击)的响应,您可以像使用任何画刷一样把此位图绘制到其他元素之上。

  3.Pixel Shader 3支持

  WPF 4基于WPF 3.5 SP1中引入的ShaderEffect支持,现在它可以允许应用程序使用Pixel Shader(PS)3.0版本创建效果。PS 3.0着色模型比2.0版本更为复杂,在它所支持的硬件上允许更多的效果。

  4. 擦除功能

  现在,你可以使用擦除功能来增强动画效果,它可以使你额外地控制动画的行为。例如,您可以针对一幅动画施加ElasticEase效果,从而使此动画具有弹性行为。有关这方面的更多的信息,请参阅System.Windows.Media.Animation命名空间中定义的擦除类型。

0
相关文章