1:常规的鼠标路由事件定义:

#region 路由事件
        public static readonly RoutedEvent CrossIconClickedEvent = EventManager.RegisterRoutedEvent("CrossIconClicked",
            RoutingStrategy.Bubble, typeof(RoutedEventHandler), typeof(FilterLabel));
        #endregion

#region CLR事件
        public event RoutedEventHandler CrossIconClicked
        {
            add { this.AddHandler(CrossIconClickedEvent, value); }
            remove { this.RemoveHandler(CrossIconClickedEvent, value); }
        }
        #endregion

#region 私有方法
        /// <summary>
        /// 点击删除图标,引发CrossIconClicked事件
        /// </summary>
        private void ImageDel_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            //引发路由事件
            RoutedEventArgs newEvent = new RoutedEventArgs(FilterLabel.CrossIconClickedEvent, this);
            this.RaiseEvent(newEvent);
        }
        #endregion

2:键盘路由事件定义

#region 路由事件
        public static readonly RoutedEvent FreeKeyDownEvent = EventManager.RegisterRoutedEvent("FreeKeyDown",
            RoutingStrategy.Bubble, typeof(KeyEventHandler), typeof(FreeDatePicker));
        #endregion

#region CLR事件
        //
        // 摘要:
        //     在焦点位于此元素上并且用户按下键时发生。
        public event KeyEventHandler FreeKeyDown
        {
            add { this.AddHandler(FreeKeyDownEvent, value); }
            remove { this.RemoveHandler(FreeKeyDownEvent, value); }
        }
        #endregion

/// <summary>
        /// 触发FreeKeyDown事件(非鼠标的键盘路由事件)
        /// </summary>
        private void Date_TextBox_KeyDown(object sender, KeyEventArgs e)
        {
            KeyEventArgs newEvent = new KeyEventArgs(e.KeyboardDevice, e.InputSource, e.Timestamp, e.Key);
            newEvent.RoutedEvent = FreeDatePicker.FreeKeyDownEvent;
            this.RaiseEvent(newEvent);
        }

转载于:https://www.cnblogs.com/changbaishan/p/9355900.html

路由事件(鼠标路由事件+键盘路由事件)相关推荐

  1. Linux检测鼠标输入和键盘输入事件

    select实现IO多路复用 int select(int nfds, fd_set *readfds, fd_set *writefds,fd_set *exceptfds, struct time ...

  2. android 键盘搜索按钮事件,Android EditText 软键盘搜索事件

    只需要在XML在输入框中加入android:imeOptions="actionSearch",调用软键盘时,回车键就会显示搜索二字. searchText.setOnEditor ...

  3. WPF经典教程--键盘输入事件, 鼠标输入事件, 焦点处理

    一.键盘和键盘事件 WPF提供了一个基本的键盘类(System.Input.Keyboard类),该类提供键盘相关的事件,方法和属性,以提供有关键盘状态的信息.键盘事件也由诸如UIElement XA ...

  4. html鼠标键弹起事件,js鼠标按键事件和键盘按键事件用法实例汇总

    本文实例讲述了js鼠标按键事件和键盘按键事件用法.分享给大家供大家参考,具体如下: keydown,keyup,keypress:属于你的键盘按键 mousedown,mouseup:属于你的鼠标按键 ...

  5. offset、事件对象、事件鼠标的坐标、键盘事件、输入框放大显示的案例

    offset 翻译过来就是偏移量,我们使用offset系列相关属性可以动态的得到该元素 获得元素距带有定位父元素的位置 获得元素自身的大小(宽度高度) 注意:返回的数值都不带单位 offset系列属性 ...

  6. js-屏蔽鼠标和键盘相关事件

    通过自定义函数实现屏蔽鼠标和键盘相关事件 一.具体实现步骤 1.编写自定义js函数maskingKeyboard(),在该函数中屏蔽键盘的Enter键,Backspace键,F5键,Ctrl+N键,S ...

  7. 浏览器滑块、鼠标事件、鼠标滑轮、键盘事件详细说明

    鼠标滑轮 必须是在 mousewheel 事件中 注册事件   window.addEventListener("mousewheel ",function(){}); event ...

  8. 键盘控制事件应用教程大全

    获取键盘控制事件是实现交互性最有力的方法之一.          首先需要了解的是如何初始化该事件,基本语句如下:          document.onkeydown = keyDown      ...

  9. android 模拟点击 不发出声音,【Android】代码实现模拟屏幕点击和键盘按键事件...

    最近参加某比赛写了一个Android手机控制Android电视的程序,其中需要控制电视端模拟"鼠标"点击,和模拟按键盘的事件. 下面直接贴上程序: // 模拟屏幕点击事件 publ ...

  10. java弹窗 触发事件_关于ElementUI中MessageBox弹框的取消键盘触发事件(enter,esc)关闭弹窗(执行事件)的解决方法...

    好久没见了 在项目中遇到一个小小的需求,总结了一下! 详细我就不介绍了,相信大家用过的话,很了解.详见文档-----------> http://element-cn.eleme.io/#/zh ...

最新文章

  1. 【物联网中间件平台-01】真正面向物联网的组态软件 YFIOs和YFHMI的前生今世
  2. Mac Pro 开机自启动 PHP-FPM,Nginx,MySql 等软件
  3. 如何实现运行时刻的多态?(c++)
  4. zookeeper常见问题总结
  5. vuecli启动的服务器位置,在vue cli 3生成的项目中启动dev服务器
  6. 聊一聊Go中channel的行为
  7. Docker 以 docker 方式运行 jenkins
  8. Linux下PHP5.5编译参数详解
  9. linux查看压缩文件的大小,Linux下不解压压缩文件如何直接查看某个文件大小
  10. 分享9款“神器级”的网站,你值得拥有!不收藏简直是巨大的损失
  11. JS中的构造函数的含义和用法
  12. 手把手教你安装nvidia显卡驱动
  13. 希尔排序、快速排序、归并排序的实现分析以及时间复杂度
  14. android怎样实现手机触屏,Android触屏过程详解和实现view随手指移动而移动功能
  15. android listview仿iphone通讯录ios 3dTouch
  16. excel中在公式中实现单元格内换行
  17. 常见加密算法特点及适用场景
  18. selenium与js联动实现页面定位及删除页面元素的操作问题
  19. 子、辰、卯、酉、午、辰时是几点到几点钟「知识普及」
  20. 计算机除尘的操作步骤,PC除尘降温不求人 脚本之家手把手教你如何清理电脑

热门文章

  1. 【Python实例第8讲】模型复杂度影响
  2. 力扣——合并K个排序链表
  3. Charles使用备注[1]
  4. bzoj 1072: [SCOI2007]排列perm
  5. 使用cJSON库解析和构建JSON字符串
  6. Linux C编程之七(2) 系统IO函数
  7. 电子表格中的数据清洗
  8. C++的四种强制转型形式:
  9. pptp,l2tp获取登录用户信息用pppd参数即可
  10. 【Android】Scrollview返回顶部,快速返回顶部的功能实现,详解代码。