zoukankan      html  css  js  c++  java
  • [忆]WPF之Routed事件步骤

    步骤1、事件处理函数

    比如:按钮的Click事件

    步骤2、在事件处理函数中抛出(RaiseEvent)事件

    方式1、重写系统事件,如重写Click事件,然后在其中抛出事件

    方式2、在事件处理函数中抛出事件

    步骤3、抛出事件的过程

    组织RoutedEventArgs参数(或自定义的继承自RoutedEventArgs的类型(可以添加自定义的属性))

      参数(RoutedEvent routedEvent, object source)

      RoutedEvent参数是自定义的public static readonly的路由事件

      object参数是拥有自定义路由事件的对象

    抛出事件:某对象.RaiseEvent(args)

      某对象可能是this,或其他,总之是拥有RaiseEvent方法的对象

      args就是组织的RoutedEventArgs参数对象

    步骤4、给需要的对象添加路由事件侦听器

    方式1、用cs代码添加,例子:

      this.gridMain.AddHandler(

      Student.NameChangedEvent, //该参数是自定义public static readonly路由事件

      new RoutedEventHandler(this.StudentNameChangedHandler) //指定路由事件处理函数

      );

    方式2、用xaml代码添加,例子:

      <Grid x:Name="grid_1" local:TimeButton.ReportTime="timeButton_ReportTime">

      此方式需要后台有这样的代码:

      public event RoutedEventHandler ReportTime //TimeButton的方法
      {
        add { this.AddHandler(ReportTimeEvent, value); }
        remove { this.RemoveHandler(ReportTimeEvent, value); }
      }

    步骤5、在路由事件处理函数中进行处理

    路由事件处理函数参数(sender, e)

    sender是正监听到事件方生的那个对象

    e就是上面组织的路由参数

  • 相关阅读:
    「学习笔记」min_25筛
    HNOI2019游记
    【SDOI2017】数字表格
    【APIO2016】烟火表演
    【SCOI2015】小凸想跑步
    java Thread源码分析
    java ThreadGroup源码分析
    bean获取Spring容器
    spring 管理bean
    thinkphp5.0.19 request
  • 原文地址:https://www.cnblogs.com/zongchenjie/p/2743150.html
Copyright © 2011-2022 走看看