2010-07-30 70 views

回答

4

//问题:点击btns不强制上最后输入的元素控制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(获取元素的名称)。

+0

这工作...但不是一直。我遇到了第二次运行此代码的情况,它不会因为FocusGroup而导致丢失焦点。解决方案在这个答案http://stackoverflow.com/a/4724766/197371解决我的具体问题 – 2012-07-25 14:58:39

+0

很高兴我们缩小这些问题! – ramnz 2012-07-26 21:11:14

2

您可以使用LayoutUpdated方法。

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