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));
  • 相关阅读:
    返回一个一维整数数组中最大子数组的和02
    软工作业04四则运算网页版
    所有子数组的和的最大值
    学习进度表(第五,六周)
    学习进度表(第四周)
    四则运算2的单元测试
    《构建之法》阅读笔记02
    软工作业03
    单元测试练习
    学习进度表(第三周)
  • 原文地址:https://www.cnblogs.com/jimson/p/RoutedEvents.html
Copyright © 2011-2022 走看看