WPF入门_03路由事件

news/2024/10/21 18:00:21/

1、如何定义路由事件

1)事件定义
     public static readonly RoutedEvent ClickEvent;
2)事件注册,Button按钮的Click事件是继承于ButtonBase基类的
     ClickEvent = EventManager.RegisterRoutedEvent("Click", RoutingStrategy.Bubble, typeof(RoutedEventHandler), typeof(ButtonBase));
3)传统事件包装
     public event RoutedEventHandler Click
    {
        add
        {
            base.AddHandler(ClickEvent, value);
        }
        remove
        {
            base.RemoveHandler(ClickEvent, value);
        }
    }

2、共享路由事件

可以在类之间共享路由事件的定义。即实现路由事件的继承。例如UIElement类和ContentElement类都使用了MouseUp事件,
  但MouseUp事件是由System.Windows.Input.Mouse类定义的。UIElement类和ContentElement类只是通过RouteEvent.AddOwner方法重用了MouseUp事件
  _typeofThis = typeof(UIElement);
  MouseUpEvent = Mouse.MouseUpEvent.AddOwner(_typeofThis);

3、引发和处理路由事


http://www.ppmy.cn/news/1540858.html

相关文章

鸿蒙网络编程系列7-TLS安全数据传输单向认证示例

1.TLS简介 TLS(Transport Layer Security)协议的前身是SSL(Secure Socket Layer)安全套接层协议,由Netscape公司于1994年提出,是一套网络通信安全协议。IETF(The Internet Engineering Task Fo…

汕头市自闭症全托管学校,为孩子打开未来大门

原文指路:http://www.zibizhengwang.com/page33.html 在探索自闭症儿童教育的广阔领域里,全托管学校以其独特的优势,为众多家庭提供了专业、全面且贴心的支持。汕头市自闭症全托管学校的成功实践,无疑为我们提供了一个宝贵的参考…

SQL数据库刷题sql_day34(移动平均值、累计求和)

描述 移动平均值 1.求不同产品 每个月以及截至当前月最近3个月的平均销售额 2.求不同产品截至当前月份的累计销售额 数据准备 mysql CREATE TABLE sales_monthly (product VARCHAR(20),ym VARCHAR(10),amount DECIMAL(10,2) );-- 插入测试数据 INSERT INTO sales_monthly (prod…

植物大战僵尸杂交版游戏分享

植物大战僵尸杂交版游戏下载:夸克网盘分享 无捆绑之类的隐形消费,下载即玩

Linux系统基础-文件系统

个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 Linux系统基础-文件系统 收录于专栏[Linux学习] 本专栏旨在分享学习Linux的一点学习笔记,欢迎大家在评论区交流讨论💌 目录 1. 回顾C语言…

VSCode创建插件HelloWorld找不到指令解决办法

按照网上的教程执行yo code并且生成成功 但是F5打开调试新窗口后,ctrl shift P,输入helloworld并没有指令提示 原因:当前电脑安装的VSCode版本过低,不支持当前插件的使用(因为自动生成的插件总是默认使用最新版VSC…

字符串(3)_二进制求和_高精度加法

个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 字符串(3)_二进制求和_高精度加法 收录于专栏【经典算法练习】 本专栏旨在分享学习算法的一点学习笔记,欢迎大家在评论区交流讨论💌 目…

appium启动hbuild打包的apk异常解决

目录 一、错误信息 二、问题解决 2.1 通过以下命令获取安装包名称: 2.2 这个launcher状态下的安装包名称和active,替换原先的安装包名称 一、错误信息 通过adb shell dumpsys activity | findstr "mResume" 命令获取的安装包信息&#xff…