制作一个“热键”,将TextBox聚焦在WPF中

时间:2012-05-04 16:13:13

标签: .net wpf hotkeys

我正在尝试制作热键(即Ctrl + Y),将焦点更改为文本框。

我是Delphi的移植手术,这让我感到困惑。在Delphi 5中,这是如此,如此容易。 (在标签的标题上,您可以在要制作热键的字母之前添加一个&在将标签指向TextBox后,热键就可以了。)

对于WPF,我看到WPF中的可怕示例涉及调用Win32调用或为每个热键(以及其他如此繁重的实现)发出命令。

我发现很难相信 1999 (Delphi 5)中新增的IDE和Languange版本有一个比Hotkey更简单的系统(比WPF更好)。

当然我错过了一些东西。如果你知道,请告诉我它是什么。

1 个答案:

答案 0 :(得分:16)

所以,我应该继续努力。我在问这个问题后不久就明白了。

他们这样做是为了创建标签并设置其内容(类似于此Content="_Years Of Service"

然后将Label的Target绑定到文本框。 (Target="{Binding ElementName=SomeTextBox}"

现在,如果按Alt + Y,它会将焦点移动到SomeTextBox。

以下是完整装订:

<Label Content="_Label" Target="{Binding ElementName=SomeTextBox}" />
<TextBox Name="SomeTextBox" />