zoukankan      html  css  js  c++  java
  • 路由事件

    路由事件

    路由事件是指一些在试图树中按照它们的路由规则可上抛或下抛的事件。 这种路由事件经常有“管道”、“冒泡”、“直接”。 可以将事件处理器直接挂接在添加事件的元素上,也可以通过附加属性语法“Button.Click="Button_Click",”挂接在他上面或者下面的其他元素上。

    路由事件一般是成对出现的。第一个是管道事件如“PreviewMouseDown”,第二个事件是冒泡事件如“MouseDown”。它们在触发一个事件处理器后并不会停止路由,直到设置了e.Handled = true为止;

    • 管道 这种事件添加在跟元素上,并沿着视图树向下传输直到它遇到资源元素或者被标记的处理器停止了管道路由。 一般命名以Previer开头,并出现在相关的冒泡事件之前.
    • 冒泡 这种事件添加在资源元素上,并沿着视图树向上传输直到它遇到根元素或者被标记的处理器停止了冒泡路由。 冒泡事件一般添加在管道事件的后面。
    • 直接 这种事件添加在资源元素上并只能有资源元素自己处理。跟.Net的事件行为很相似。 
       

    创建路由事件

    代码
    // Register the routed event
    public static readonly RoutedEvent SelectedEvent =
    EventManager.RegisterRoutedEvent(
    "Selected", RoutingStrategy.Bubble,
    typeof(RoutedEventHandler), typeof(MyCustomControl));

    // .NET wrapper
    public event RoutedEventHandler Selected
    {
    add { AddHandler(SelectedEvent, value); }
    remove { RemoveHandler(SelectedEvent, value); }
    }

    // Raise the routed event "selected"
    RaiseEvent(new RoutedEventArgs(MyCustomControl.SelectedEvent));
  • 相关阅读:
    Java内部类详解
    浅谈Java中的深拷贝和浅拷贝(转载)
    native为本地方法
    Java NIO:NIO概述
    Java NIO:浅析I/O模型
    Hash表
    浅谈Java中的hashcode方法
    spring boot学习(转)
    Spring Boot修改内置Tomcat端口号
    K8S
  • 原文地址:https://www.cnblogs.com/jimson/p/RoutedEvents.html
Copyright © 2011-2022 走看看