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>

  界面:

WPF的路由事件

  当点击黑色按钮时,事件的路由顺序是: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前缀。

你可能感兴趣的:(WPF)