0

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

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

如何通过仅编写一个事件处理程序来使用路由事件来实现这一点?我不想重复事件处理程序代码。

谢谢

4

1 回答 1

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.
    ...
    

    }

于 2009-07-27T18:00:03.833 回答