【问题标题】:Instable focus of WPF appsWPF 应用程序的焦点不稳定
【发布时间】:2010-07-13 06:06:03
【问题描述】:

如果我对 WPF 有问题,那么它总是与焦点管理有关。 在某些情况下,我的应用完全失去焦点,以至于另一个应用获得焦点,而我的应用进入后台。这主要发生在我的应用程序中的某些窗口将关闭时。 这是 WPF 的一个已知问题吗?其他人有类似的问题吗?

我已经打开了another thread这个,但是没有人可以帮忙,可能是有点详细。因此,这是简短的版本。

更新

我似乎找到了一个简单的技巧,可以帮助防止我在other thread 中描述的行为。如果你有同样的问题,试试它是否对你有帮助。如果你有解释,有一个赏金开放......

我将这篇文章打开几天,可能有人对 WPF 焦点问题有很好的一般输入。可能我不明白它背后的逻辑,但在我明白之前,这确实是 IMO 最糟糕的 WPF 部分(IMO 是一个非常棒的产品)。如果我必须告诉某人我过去几年在 WPF 中遇到的问题,那就是:Focusmgmt、Focusmgmt 和一次 Focusmgmt。

【问题讨论】:

  • WAG 在这里:更换你的键盘/鼠标。如果您有触摸屏,请研究制造商是否有鬼点击。如果您使用的是笔记本电脑,请更新您的平板驱动程序或完全禁用它。

标签: .net wpf focus focusmanager


【解决方案1】:

为了让整个应用失去焦点,请确保在所有窗口上设置 Owner 属性,然后再显示它们。

对于在应用程序内部失去焦点,通常会发生这种情况,当您没有想到的某些控件正在获取但没有显示任何内容时(例如一些用于布局的随机 StackPanel 或 Grid),您必须找到它们并添加 @ 987654321@

【讨论】:

  • 感谢您的提示。我仔细检查了这一点,但我总是在显示窗口之前设置所有者。我还尝试在构建窗口后将所有者设置为绝对第一个属性,但它没有帮助。
  • 我接受了您的回答,因为这至少是一次尝试。如果您对解决方案感兴趣,请查看我对帖子的编辑 - 感谢您的回答
【解决方案2】:

+1 因为我在我的应用程序中也遇到了类似的问题。我正在开发一个类似 VS 的应用程序(用户可以添加(从工具箱)并在画布中配置控件),并且在执行各种命令(如删除等)后,焦点神秘地丢失了。我必须明确使用 Canvas.Focus() 来重置焦点和这有时也行不通。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-09
    • 2020-10-02
    相关资源
    最近更新 更多