news 2026/4/7 14:50:35

12、WPF中的预览事件与命令使用详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
12、WPF中的预览事件与命令使用详解

WPF中的预览事件与命令使用详解

1. 预览事件(Preview Events)

在WPF中,所有控件都有以Preview开头的事件,许多预览事件由UIElement类拥有,而WPF中的所有控件都继承自该类。例如,UIElement定义了PreviewKeyDown事件,当元素获得焦点且按下某个键时会触发此事件。

PreviewKeyDown与同样由UIElement拥有的KeyDown事件有何不同呢?虽然它们的文档描述看起来相同,但二者的路由方式不同:
-冒泡(Bubbling):事件向根元素移动。
-隧道(Tunneling):事件向其起源移动。

在WPF中,Preview前缀是一种约定,表明一个事件是另一个事件的对应事件,所以PreviewKeyDownKeyDown的对应事件。当一个获得焦点的元素上按下键时,首先由根元素引发PreviewKeyDown事件,该事件会沿着元素树向下隧道传递到实际获得焦点的元素;然后引发KeyDown事件,并冒泡返回根元素。

以下是一个简单的窗口标记示例:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/3 6:22:40

Typora插件终极指南:3个专业技巧实现Mermaid图表高效导出

Typora插件终极指南:3个专业技巧实现Mermaid图表高效导出 【免费下载链接】typora_plugin Typora plugin. feature enhancement tool | Typora 插件,功能增强工具 项目地址: https://gitcode.com/gh_mirrors/ty/typora_plugin 在技术文档创作中&a…

作者头像 李华
网站建设 2026/4/3 14:50:55

25、WPF 中的控件模板与触发器使用指南

WPF 中的控件模板与触发器使用指南 一、控件模板中的特殊部分识别 在模板设计中, ContentPresenter 和 ItemsPresenter 仅能为有限数量的控件提供支持。例如,当为 TextBox 创建模板时,如何告知模板哪个元素用于显示输入内容;或者创建具有多个活动部件的 ScrollBar…

作者头像 李华
网站建设 2026/4/2 0:41:34

暗黑2存档修改终极指南:用d2s-editor重新定义你的单机游戏体验

暗黑2存档修改终极指南:用d2s-editor重新定义你的单机游戏体验 【免费下载链接】d2s-editor 项目地址: https://gitcode.com/gh_mirrors/d2/d2s-editor 还在为暗黑破坏神2中反复刷装备却一无所获而沮丧吗?你是否曾梦想过拥有完美的角色属性和顶级…

作者头像 李华
网站建设 2026/3/27 4:42:58

League Akari:从青铜到王者的智能游戏伴侣终极指南

League Akari:从青铜到王者的智能游戏伴侣终极指南 【免费下载链接】League-Toolkit 兴趣使然的、简单易用的英雄联盟工具集。支持战绩查询、自动秒选等功能。基于 LCU API。 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 还在为复杂的英雄联…

作者头像 李华
网站建设 2026/4/7 11:43:14

HunterPie完全指南:怪物猎人世界智能覆盖插件的终极使用指南

还在为《怪物猎人:世界》中复杂的战斗系统和数据统计而烦恼吗?HunterPie这款智能覆盖插件将成为你的游戏最佳伴侣!无论你是刚接触游戏的新手猎人,还是想要提升战斗效率的资深玩家,这款免费工具都能带来革命性的游戏体验…

作者头像 李华
网站建设 2026/4/4 15:25:28

图像分层革命:layerdivider零门槛AI工具让设计效率飙升

图像分层革命:layerdivider零门槛AI工具让设计效率飙升 【免费下载链接】layerdivider A tool to divide a single illustration into a layered structure. 项目地址: https://gitcode.com/gh_mirrors/la/layerdivider 你是否曾经为了将一张插画分解为可编辑…

作者头像 李华