除了使用IsFocused之外,如何知道UserControl是否处于活动状态

Dan*_*nte 5 wpf user-controls focus

我正在开发一个WPF项目,每次有些userControl活动或非活动时我都会尝试触发事件.

这些userControl在其中有许多其他控件.

我想这使用用户控件的事件来实现GotFocusLostFocus,但这些事件不会在我需要的方式工作,因为用户控件失去焦点时,我与它的内部控制工作.

所以,我的问题是:有没有办法保存userControl,因为Active当用户使用它内部的控件时,当用户转到另一个userControl时,第一个得到Inactive???

先感谢您.

Dan*_*nte 2

感谢@LPL 和@Rachel 的评论,我可以解决我的问题。

我必须使用这个活动UIElement.IsKeyboardFocusWithinChanged,它运行得很好。

起初我遇到了一个问题,即回调方法被无限地引发,但实际的问题是MessageBox每次IsKeyboardFocusWithinChanged引发事件时我都会显示 a ,因此,这导致IsKeyboardFocusWithin属性发生变化并创建了无限循环。但多亏了雷切尔的建议,我才知道如何解决这个问题。