Xaml 单击按钮时如何强制LostFocus

Xaml 单击按钮时如何强制LostFocus,xaml,Xaml,XAML C#而不是网页是一个窗口 点击按钮I: 需要在焦点上捕获最后一个控件的名称 强制控件的LostFocus事件 //问题:单击BTN不会对最后输入的元素控件强制执行lostfocus事件(最后输入的控件可以是文本、复选框或其他) 添加了“保存”按钮,在该按钮中,调用该方法会将焦点移动到父元素,强制在最后一个元素上丢失焦点 private void btnSave_Click(object sender, RoutedEventArgs e) { Accep

XAML C#而不是网页是一个窗口

点击按钮I:

  • 需要在焦点上捕获最后一个控件的名称
  • 强制控件的
    LostFocus
    事件

  • //问题:单击BTN不会对最后输入的元素控件强制执行lostfocus事件(最后输入的控件可以是文本、复选框或其他) 添加了“保存”按钮,在该按钮中,调用该方法会将焦点移动到父元素,强制在最后一个元素上丢失焦点

        private void btnSave_Click(object sender, RoutedEventArgs e)
        {
            AcceptLastFocusedElement(sender, e);
        }
    
    
        private void AcceptLastFocusedElement(object sender, RoutedEventArgs e)
        {
            FocusManager.SetFocusedElement(this, (Button)sender);
        }
    

    注意:不需要任务编号1(获取元素名称)。

    您可以使用
    LayoutUpdated
    方法


    因此,无论何时发生任何事件,它都会进入
    LayoutUpdated
    事件,您可以捕获
    LastFocusObject

    这是有效的。。。但并非总是如此。我有一个例子,在我们第二次运行这段代码时,它不会因为FocusGroup而导致lostfocus。这个答案解决了我的具体问题。我很高兴我们缩小了这些问题的范围!。