12

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

我是从 Delphi 移植过来的,这让我很困惑。在 Delphi 5 中,这容易了。(在标签的标题上,您可以在要创建热键的字母之前添加一个 &。将标签指向 TextBox 后,热键将起作用。)

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

我很难相信1999年的新 IDE 和语言版本(Delphi 5)对于像热键这样简单的东西有更好的系统(比 WPF)。

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

4

1 回答 1

23

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

他们这样做的方式是创建一个标签并设置其内容(类似这样Content="_Years Of Service"

然后将标签的目标绑定到一个文本框。( Target="{Binding ElementName=SomeTextBox}")

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

这是完整的绑定:

<Label Content="_Label" Target="{Binding ElementName=SomeTextBox}" />
<TextBox Name="SomeTextBox" />
于 2012-05-04T16:31:24.817 回答