WPF 不同的菜单里的快捷键存在绑定的一样的组合键,为什么使用时会直接最后一个相同的组合键响应

[复制链接]
查看11 | 回复2 | 2021-1-27 05:56:23 | 显示全部楼层 |阅读模式
WPF不同的菜单里的快捷键存在绑定的一样的组合键,为什么使用时会直接最后一个相同的组合键响应
分 -->
回复

使用道具 举报

千问 | 2021-1-27 05:56:23 | 显示全部楼层
不是最后一个而是当前获取焦点或在获取焦点控件的路由上层的控件拿到事件
在使用组合键的时候,其实原理就是通过Keyboard的Focue元素,也就是获取键盘焦点元素接收键盘消息。而接收的键盘消息是路由事件,也就是获取键盘消息的时候通过路由上来的控件刚好绑定了组合键命令,那么将会触发这个控件
回复

使用道具 举报

千问 | 2021-1-27 05:56:23 | 显示全部楼层
可是我展开的是A菜单(已展开),操作子菜单按钮相应的组合键(Ctl+D),,,,实际debug我发现程序执行的是B菜单中相应按钮(该按钮组合键与A菜单中相同均为Ctl+D)执行的内容,并没有执行FocusA菜单的操作啊,这个怎么解决呢?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行