我正在尝试制作一个热键(即 Ctrl + Y),它将焦点更改为文本框。
我是从德尔福移植过来的,这让我很困惑。在 Delphi 5 中是这样的,所以简单的。 (在标签的标题上,您可以在要创建热键的字母之前添加一个 &。将标签指向 TextBox 后,热键将起作用。)
对于 WPF,我在 WPF 中看到了涉及调用 Win32 调用或为每个热键(以及其他此类繁重的实现)创建命令的可怕示例。
我很难相信 中的新 IDE 和语言版本1999 (Delphi 5)对于像热键这样简单的东西有一个更好的系统(比 WPF)。
当然,我错过了一些东西。如果你知道,请告诉我它是什么。
最佳答案
所以,我应该继续努力寻找。问了这个问题后不久我就明白了。
他们这样做的方式是创建一个标签并设置其内容(类似于 Content="_Years Of Service"
)
然后将标签的目标绑定(bind)到一个文本框。 (Target="{Binding ElementName=SomeTextBox}"
)
现在,如果您按 Alt + Y,它会将焦点移动到 SomeTextBox。
这是完整的绑定(bind):
<Label Content="_Label" Target="{Binding ElementName=SomeTextBox}" />
<TextBox Name="SomeTextBox" />
关于.net - 制作 "hotkey"以在 WPF 中聚焦 TextBox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10452462/