gpt4 book ai didi

wpf - 什么是路由事件以及它与普通事件的区别

转载 作者:行者123 更新时间:2023-12-04 11:18:10 26 4
gpt4 key购买 nike

如果有人可以用一个简单的例子来解释,我将不胜感激。

最佳答案

想象一个包含密集子控件层次结构的窗口。现在假设您想要做某事,右键单击窗口中的任意位置。

  • 对于普通事件,您必须为所有控件处理 Click 事件,因为您不确定用户可能点击的位置。
  • 与 WPF 的 routed events ,如果事件没有找到在当前级别“处理”它的事件处理程序,则事件将“冒泡”或“隧道”(即沿 UI 树向上或向下行进)。所以你可以为窗口的事件编写一个处理程序,即 TopLevel。 (WPF 有一个事件对的约定,PreviewXXX 和 XXX - PreviewXXX 事件首先触发并从根向下隧道传输到接收刺激的控制,然后对应的 XXX 事件从子控件向上冒泡返回到 Root)。因此,如果您右键单击一个按钮,WPF 会在 UI 层次结构中向上移动,调用它找到的所有处理程序(除非有人在事件参数中标记该事件已“处理”。)
  • 关于wpf - 什么是路由事件以及它与普通事件的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3405093/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com