RoutedUICommand,CommandBindings,InputBindings,ICommand接口的概念及快捷键或鼠标触发Command命令
创始人
2025-05-29 17:09:26
0次

如题,这篇贴子来简单介绍一下这4个知识点。
1、RoutedUICommand 类
官方解释:定义一个在元素树中路由并包含一个文本属性的 ICommand。我们看看它的继承路线:
ICommand -> RoutedCommand -> RoutedUICommand,也就是说,本质上,它就是ICommand接口的子类实现。如要在XAML中使用它,如下进行实例化。




2.CommandBindings集合
定义好了RoutedUICommand 的实例后,还需要写这个命令的执行代码,于是CommandBindings就出场了。CommandBindings是一个集合,位于window对象中,这个集合中存储了RoutedUICommand的执行代码的实现,也就是每个具体的CommandBinding对象,CommandBinding对象在实例化时需要三个参数,即command命令的实例对象,Executed执行委托和CanExecute判断委托。说白了,CommandBinding就是一个中间商,它生下来就是为RoutedUICommand服务的,它指明了RoutedUICommand要执行的代码,当然这些代码就是程序员去实现了,所以定义(实例化)CommandBinding的实例就要分为两步,第一步在xaml中实例化,第二步实现Executed委托和CanExecute委托
2.1 实例化CommandBinding




2.2实现Executed委托和CanExecute委托
上面引用了CommandBinding_Executed函数和CommandBinding_CanExecute函数,所以要在后端写上这两个函数的回调,这样,将来OpenCommand被执行的时候,才会真正的去执行CommandBinding_Executed函数里面的代码

private void CommandBinding_Executed(object sender,ExecutedRoutedEventArgs e){MessageBox.Show("我是ALT+S");
}
private void CommandBinding_Executed(object sender,CanExecuteRoutedEventArgs e){e.CanExecute = true;
}

3、InputBindings类
可以看到这个InputBindings以s结尾,说明它是一个集合,位于window这个类型中。它的元素都是InputBinding类,例如KeyBinding类型或MouseBinding,它们都继承于InputBinding类。

经过第1步和2步,也就是定义好了一个command和command的执行代码后,接下来就是要使用这个command,KeyBinding可以让用户通过快捷键去触发(或叫引用)这个command,而MouseBinding可以用鼠标的操作去触发这个command。








如此,按下ctrl键+鼠标滚轮或alt+s都可以触发OpenCommand命令,而最终的效果就是执行了CommandBinding_Executed回调函数,弹出MessageBox.Show(“我是ALT+S”);

相关内容

热门资讯

分享个大家辅助器!八大碗麻将辅... 分享个大家辅助器!八大碗麻将辅助器AI技巧,八大碗麻将多功能其实真的是有辅助器技巧1、八大碗麻将破解...
揭秘几款作弊器!九九麻将作弊器... 揭秘几款作弊器!九九麻将作弊器AIapp,九九麻将多功能竟然是有作弊器app1)九九麻将有没有挂:进...
一分钟揭秘透视器!朱雀大厅透视... 一分钟揭秘透视器!朱雀大厅透视器AI软件,朱雀大厅多功能都是存在有透视器软件1、朱雀大厅脚本辅助下载...
重要通知开挂!混沌休闲开挂AI... 重要通知开挂!混沌休闲开挂AI攻略,混沌休闲多功能确实有开挂攻略1、混沌休闲模拟器是什么优化,混沌休...
研究成果辅助器!八仙棋牌辅助器... 研究成果辅助器!八仙棋牌辅助器AI工具,八仙棋牌多功能好像是有辅助器工具1、让任何用户在无需八仙棋牌...
每日必看教程辅助器!贪玩棋牌辅... 每日必看教程辅助器!贪玩棋牌辅助器AI脚本,贪玩棋牌多功能果然真的有辅助器脚本1、金币登录送、破产送...
盘点一款透视器!朋朋棋牌透视器... 盘点一款透视器!朋朋棋牌透视器AI攻略,朋朋棋牌多功能确实是真的有透视器攻略1、让任何用户在无需朋朋...
一分钟揭秘作弊器!联众娱乐作弊... 一分钟揭秘作弊器!联众娱乐作弊器AI技巧,联众娱乐多功能真是真的是有作弊器技巧1、全新机制【联众娱乐...
发现一款作弊器!皮皮至尊棋牌作... 发现一款作弊器!皮皮至尊棋牌作弊器AI软件,皮皮至尊棋牌多功能竟然是真的有作弊器软件1、不需要AI权...
玩家必看教程透视器!富友茶苑透... 玩家必看教程透视器!富友茶苑透视器AI脚本,富友茶苑多功能一贯有透视器脚本1、进入到富友茶苑是否有挂...