C# 为什么wpf元素没有为IsFocused属性返回true
我有一个WPF应用程序。在代码隐藏中,当元素失去焦点时,我调用一个方法,如下所示C# 为什么wpf元素没有为IsFocused属性返回true,c#,wpf,focus,C#,Wpf,Focus,我有一个WPF应用程序。在代码隐藏中,当元素失去焦点时,我调用一个方法,如下所示 private void expander_LostFocus(object sender, RoutedEventArgs e) { var focusedControl = FocusManager.GetFocusedElement(this); if(NMButton.IsFocused) { expander.IsExpanded = false; } }
private void expander_LostFocus(object sender, RoutedEventArgs e)
{
var focusedControl = FocusManager.GetFocusedElement(this);
if(NMButton.IsFocused)
{
expander.IsExpanded = false;
}
}
设置focusedControl
对象时,它被设置为NMButton
。但是,在代码的下一行NMButton.IsFocused
返回false
有人有什么想法吗?请参见:,也许您在不同的焦点范围内。如果我选中NMButton.IsKeyboardFocused,则返回true。有点困惑。我认为FocusManager.GetFocusedElement(这个)返回了具有逻辑焦点的项。哦,好吧。这会奏效的。谢谢你,伙计。