WPF中如何获得焦点控件?

发布于 2024-10-22 00:18:56 字数 114 浏览 2 评论 0原文

如何在 WPF 中获得当前焦点控件?

我找到了一些 WinForms 的解决方案,但是调用 WIN32 API 函数,在 WPF 中不起作用?

在WPF中有什么办法可以做到这一点吗?

How can I get a current focused control in WPF?

I found some solution for WinForms, but invoking WIN32 API function, didn't work in WPF?

Is there any way for doing it in WPF?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

怕倦 2024-10-29 00:18:56

我知道这是一个迟到的答案,但也许搜索的人会发现这很有帮助,我在 msdn 位于靠近页面底部的“以编程方式导航焦点”部分:

UIElement elementWithFocus = Keyboard.FocusedElement as UIElement;

I know this is a late answer, but maybe people searching can find this helpful, I it found on msdn in the "Navigating Focus Programmatically" section close to the bottom of the page:

UIElement elementWithFocus = Keyboard.FocusedElement as UIElement;
沉睡月亮 2024-10-29 00:18:56

这就是我所做的

protected override void OnPreviewLostKeyboardFocus(KeyboardFocusChangedEventArgs e)
{
    lostFocusControl = e.OldFocus;
}

private void PauseButton_PreviewKeyDown(object sender, KeyEventArgs e)
{
    // invoke OnPreviewLostKeyboardFocus handler
}

Here's what I did

protected override void OnPreviewLostKeyboardFocus(KeyboardFocusChangedEventArgs e)
{
    lostFocusControl = e.OldFocus;
}

private void PauseButton_PreviewKeyDown(object sender, KeyEventArgs e)
{
    // invoke OnPreviewLostKeyboardFocus handler
}
海风掠过北极光 2024-10-29 00:18:56

另一个解决方案:

bool FocusedElement = FocusManager.GetFocusedElement(this);

在这里找到:
https://stackoverflow.com/a/8077580/14648642

Another solution:

bool FocusedElement = FocusManager.GetFocusedElement(this);

Found here:
https://stackoverflow.com/a/8077580/14648642

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文