首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >UserControl和KeyBinding (WPF)问题

UserControl和KeyBinding (WPF)问题
EN

Stack Overflow用户
提问于 2015-08-20 19:01:10
回答 1查看 823关注 0票数 1

我有一个带有ContentControl的窗口,在这里我显示了我的用户控件。每个用户控件都有自己的KeyBindings。问题是当用户控件失去焦点时,键绑定就无法工作。如果单击用户控件之外窗口中的任何位置,则无法访问密钥绑定。我可以使用全局键绑定,但是每个键绑定都是特定的用户控件吗?我找到了一些解决办法,但不为我服务。谢谢!

EN

回答 1

Stack Overflow用户

发布于 2015-08-20 20:18:13

你能做的是:

  1. 创建包含命令的新类。每个命令表示要在用户控件中执行的操作。 公共静态类CustomCommands {公共静态只读RoutedUICommand SettingsCommand =新RoutedUICommand ( "SettingsCommand“、"SettingsCommand”、typeof(CustomCommands)、新InputGestureCollection() {} );}
  2. 在您的用户控件中,可以使用以下命令:

在XAML中:

代码语言:javascript
运行
复制
<UserControl.CommandBindings>
    <CommandBinding Command="local:CustomCommands.SettingsCommand" Executed="OnSettingsExecuted"></CommandBinding>
</UserControl.CommandBindings>

或者在代码隐藏中:

代码语言:javascript
运行
复制
CustomCommands.SettingsCommand.Executed += (s, e) => { };
  1. 在窗口中,将键绑定到命令:

因此,您将有窗口大小的键绑定,当窗口处于活动状态时将被接受.

希望,这有帮助

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32126273

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档