WPF的路由事件
WPF的路由事件
在 《WPF学习:1.开始》中介绍了路由事件,本文介绍一个关于依赖属性和路由事件的小demo,包含了界面和代码,希望能够加深对依赖属性和路由事件的感性认识,实例代码从这里下载。
定义3个按钮,这3个按钮是呈嵌套的。
<Button Name="outerButton" Background="LightGray" Click="outerButton_Click" > <Button Width="300" Height="100" Background="Gray" Name="intermediateButton" Click="intermediateButton_Click"> <Button Width="200" Height="80" Background="Black" Name="innerButton" Click="innerButton_Click"> </Button> </Button> </Button>
界面:
当点击黑色按钮时,事件的路由顺序是:innerButton_Click->intermediateButton->outerButton_Click,这表明了这是一个气泡式的路由事件,事件由事件源一直传递到根。对XAML代码进行一些修改:
<Button Name="outerButton" Background="LightGray" PreviewMouseDown="outerButton_PreviewMouseDown" > <Button Width="300" Height="100" Background="Gray" Name="intermediateButton" PreviewMouseDown="intermediateButton_PreviewMouseDown"> <Button Width="200" Height="80" Background="Black" Name="innerButton" PreviewMouseDown="innerButton_PreviewMouseDown"> </Button> </Button> </Button>
当点击灰色按钮是,事件的路由顺序是:outerButton_PreviewMouseDown->intermediateButton_PreviewMouseDown->innerButton_PreviewMouseDown,表明是一个隧道式路由事件,事件由根一直向下传递到源事件,值得注意的是隧道式路由事件一般都会家上Preview前缀。
文章来自-似水无痕:http://www.cnblogs.com/keylei203/