0

我有一个包含以下命令的按钮:

<Window.Resources>
    <RoutedUICommand x:Key="CommandPretraga"/>
</Window.Resources>

<Window.CommandBindings>
    <CommandBinding Command="{StaticResource CommandPretraga}" Executed="chkPretraga_Click" />
</Window.CommandBindings>

<Window.InputBindings>
    <KeyBinding Key="ENTER" Command="{StaticResource CommandPretraga}" />
</Window.InputBindings>

如果从大部分窗口调用该快捷方式,则该快捷方式有效,但如果我当前位于其中一个TextBox元素中,则该快捷方式不起作用。我猜这是因为TextBox正在注册和处理 ENTER 键事件,我尝试捕捉它并调用快捷方式应该调用的相同函数,但这不起作用。

我该如何解决这个问题?

4

1 回答 1

1

您可以在 PreviewKeyDown 事件中拦截击键。

如果输入是定义的快捷方式,则引发相应的事件并将 e.Handled 设置为 true,以防止对其进行进一步处理。

于 2013-06-10T14:42:04.007 回答