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就是上面组织的路由参数

  • 相关阅读:
    github for window的代理设置方法
    深入理解ANGULARUI路由_UIROUTER
    HTML:document.activeElement
    Ubuntu 安装java环境搭建
    svn 服务器搭建
    nginx tomcat 动静分离
    mysql5.5 修改字符集
    ansible 安装
    基于apache的tomcat负载均衡和集群配置
    数据库值错误怎么改?
  • 原文地址:https://www.cnblogs.com/zongchenjie/p/2743150.html
Copyright © 2011-2022 走看看