WPF和路由事件

时间:2009-07-27 17:36:13

标签: wpf routed-events

我有一个WPF窗口,它有一个位于stackPanel内的按钮,位于另一个stackPanel内部

我为MouseDown事件的按钮编写了一个事件处理程序。 我想为按钮和父级(堆栈面板)和父级的父级

执行此事件三次forHandler

如何通过只写一个事件处理程序来实现路由事件? 我不想重复事件处理程序代码。

由于

1 个答案:

答案 0 :(得分:0)

  1. 实现从Button和StackPanel的事件处理程序调用的方法。
  2. 将args的Handled属性设置为false。
  3. 或者您可以在GenericHandler方法中使用布尔参数,以便您可以决定是否让事件冒泡。

    void GenericHandler(object sender, RoutedEventArgs args)
    

    {     //在这里检查args的类型并开展工作。

    args.Handled = false; // this lets the event bubbled up.
    ...
    

    }