Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WPF:如何使customcontrol上的键绑定在没有焦点的情况下工作_Wpf_Custom Controls_Key Bindings_Inputbinding - Fatal编程技术网

WPF:如何使customcontrol上的键绑定在没有焦点的情况下工作

WPF:如何使customcontrol上的键绑定在没有焦点的情况下工作,wpf,custom-controls,key-bindings,inputbinding,Wpf,Custom Controls,Key Bindings,Inputbinding,我有两个自定义控件。第一个由文本框和弹出/下拉菜单组成。另一个由扩展器和扩展器内的一些内容组成 大多数时候,我会在第一个控件的弹出窗口中显示第二个控件 第二个控件应具有用于切换扩展器的热键 如何在第二个控件中创建键绑定,使其即使焦点位于第一个控件的文本框内也能正常工作?我不认为焦点对键绑定的工作总是必不可少的。。。您是否尝试将KeyBinding的CommandTarget设置为Expander控件 像下面这样的 <KeyBinding Key="O" Modifiers="Control

我有两个自定义控件。第一个由文本框和弹出/下拉菜单组成。另一个由扩展器和扩展器内的一些内容组成

大多数时候,我会在第一个控件的弹出窗口中显示第二个控件

第二个控件应具有用于切换扩展器的热键


如何在第二个控件中创建键绑定,使其即使焦点位于第一个控件的文本框内也能正常工作?

我不认为焦点对键绑定的工作总是必不可少的。。。您是否尝试将KeyBinding的CommandTarget设置为Expander控件

像下面这样的

<KeyBinding Key="O" Modifiers="Control"
            Command="localns:ApplicationWindow.Open"
            CommandTarget="{x:Static localns:MyWindow.CustomControlInstance.Expander}" />


如果这有帮助,请告诉我。

如果没有一些技巧,我想你是做不到的。最简单的方法是创建一个属性,将其绑定到Expander.IsExpanded属性,然后在
命令中更改它。但是您的
命令
应该与第一个控件(或其文本框)一起使用
keybind
ed。