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前缀。

posted @ 2013-03-14 22:44  似水无痕keylei  阅读(304)  评论(0编辑  收藏  举报