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));
  • 相关阅读:
    10gen发布MongoDB增量备份服务
    JSON.NET 5中的架构变更
    Snowbox 2.0 发布,POP3 邮件服务器
    资源监控工具 glances
    Druid 0.2.18 发布,阿里巴巴数据库连接池
    Groovy 更新到 2.0.8 and 2.1.3
    Apache Libcloud 0.12.4 发布,统一云计算接口
    Go1.1性能测试报告(和C差距在10%以内)
    Apache Camel 2.11.0 发布,规则引擎
    2010年01月01日0时0分 总结我的2009
  • 原文地址:https://www.cnblogs.com/jimson/p/RoutedEvents.html
Copyright © 2011-2022 走看看