传递事件和传递命令系统···

就像属性系统在Wpf中升级为依赖属性一样,事件系统在WPF中也被升级为路由事件(RoutedEvent),并在此基础上衍生出命令传递系统。WPF的UI是由布局组件和控件构成的树形结构。当这棵树上的某个节点激发出某个事件时,程序员可以选择一传统的直接事件模式让响应者来响应,也可以让让这个事件在UI组件树沿着一定的方向传递且路过多个中转节点,并在这个路由过程中被恰当地处理。

XAML是以XML语言为基础、描述WPF人机界面的一种语言。XML是建立在DOM(document of model)之上的,在桌面应用程序中,其树根通常是Window元素;互联网应用程序中,其树根通常是Page元素。Wpf中的元素树按性质分为两种 :一种是视觉树(Visual Tree);另一种是逻辑树(Logical Tree)。WPF使用元素树来实现WPF中的某些重要功能,例如属性传递、时间的传递、资源的定位等。WPF提供了两个类来帮助我们分别遍历两种树:VisualTreeHelper、LogicalTreeHelper(包含三个方法:GetChildren、GetParent、FindLogicalNode)。

事件的前生就是消息,Windows是消息驱动的操作系统,运行其上的程序也遵照这一个机制运行。

 

创建自定义路由事件:(1)声明并注册路由事件(2)为路由事件添加CLR事件包(3)创建可以激发路由事件的方法

posted @ 2012-07-27 22:47  zscflying  阅读(173)  评论(0编辑  收藏  举报