gpt4 book ai didi

c# - 相当于 WinRT Metro 中的 'KeyPreview' 属性

转载 作者:行者123 更新时间:2023-11-30 21:05:41 26 4
gpt4 key购买 nike

我正在编写一个 metro 应用程序,在用户开始输入时,焦点可以随时跳转到单个文本框。但我想不出如何在本地实现此功能,而不修改其他用户控件来检测按键按下并将焦点转移到文本框。

在 WinForms 中,我会使用窗体的“KeyPreview”属性,这会导致窗体控件中的任何按键操作都触发窗体 KeyDown/KeyPress/KeyUp 事件。我在 metro 中找不到任何等效项。

我尝试了天真的解决方案,即在文本框离开时强制将焦点放在文本框上,但这有明显的问题(例如,当您单击并按住按钮时,按钮会闪烁而不是保持突出显示)。

如何确保任何键盘输入都进入特定的文本框?

最佳答案

事件需要放置在当前核心窗口上,这是所有控件嵌套的根元素。

Windows.UI.Xaml.Window.Current.CoreWindow.KeyDown += (sender, arg) => {
// invoked anytime a key is pressed down, independent of focus
}

关于c# - 相当于 WinRT Metro 中的 'KeyPreview' 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11550874/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com