.net - WPF应用程序焦点不稳定

标签 .net wpf focus focusmanager

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

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

更新

我似乎发现了一个简单的技巧,可以帮助防止我在 other thread 中描述的行为。 。如果您遇到同样的问题,请尝试一下是否对您有帮助。如果您有解释,则有悬赏...

我将这篇文章保留了几天,可能有人对 WPF 焦点问题有很好的一般性意见。可能我不明白它背后的逻辑,但在我理解之前,这在我看来确实是 WPF 中最糟糕的部分(在我看来,这是一个非常棒的产品)。如果我必须告诉别人我过去几年在 WPF 中遇到的问题,那就是:Focusmgmt、Focusmgmt,以及更多 Focusmgmt。

最佳答案

要失去整个应用程序的焦点,请确保在显示所有窗口之前设置“Owner”属性。

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

关于.net - WPF应用程序焦点不稳定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3234581/

相关文章:

c# - 自动为文本框中的每一行编号

.net - 如果未安装 .NET 3.5,如何避免 FileNotFoundException?

wpf - 如何通过 MVVM 为 DataGrid ItemSsource 设置过滤器

javascript - 将焦点从最后一个元素循环到第一个元素,反之亦然

qt - 在 ListView 之间传递焦点

javascript - 在单击窗口之前未检测到 keydown

c# - 你如何制作一个通用的通用工厂?

.net - 使用 WPF 的网格中的按钮数组

c# - 属性(property)已由 'FrameworkElement' 注册

c# - RibbonGallery 项目命令单击