Xaml 当所有子级都失去焦点时发生WPF容器事件
例如,假设我有:Xaml 当所有子级都失去焦点时发生WPF容器事件,xaml,focus,panel,Xaml,Focus,Panel,例如,假设我有: <StackPanel> <TextBlock /> <TextBox /> <TextBox /> </StackPanel> 我想处理StackPanel丢失焦点的事件。换句话说,当焦点被赋予StackPanel之外的任何其他控件时 问题是,如果我处理StackPanel的LostFocus事件,即使焦点在其中的文本框之间交换,也会触发此事件(我猜这是由于RoutedEvent的概念) 我还
<StackPanel>
<TextBlock />
<TextBox />
<TextBox />
</StackPanel>
我想处理StackPanel丢失焦点的事件。换句话说,当焦点被赋予StackPanel之外的任何其他控件时
问题是,如果我处理StackPanel的LostFocus事件,即使焦点在其中的文本框之间交换,也会触发此事件(我猜这是由于RoutedEvent的概念)
我还尝试用InChanged事件处理isKeyboardFocus。它适用于文本框,但如果用户单击文本块,键盘焦点将丢失,从而触发事件
请注意,将名称添加到文本框并在LostFocus事件中对其进行过滤不是一个选项,因为这些元素将位于ListView中,因此我无法将名称添加到文本框
谢谢你的帮助 您可以尝试处理子级的LostFocus,并将RoutedEventArgs.Handled属性设置为true,以防止事件冒泡到StackPanel:
void TextBox_LostFocus(object sender, RoutedEventArgs e)
{
e.Handled = true;
}