代码之家  ›  专栏  ›  技术社区  ›  Nate CSS Guy

WPF TabControl On SelectionChanged,将焦点设置为文本字段

  •  5
  • Nate CSS Guy  · 技术社区  · 15 年前

    SelectionChanged 事件,并检查我感兴趣的选项卡是否是当前选定的选项卡。

    txt.Focus() 因为在显示正确的选项卡项之后,焦点不在文本框上。

    private void tabMain_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        // exact same behavior with and without this line
        e.Handled = true;
    
        if (e.AddedItems.Contains(usrTab))
        {
            txtusr.Focus();
        }
        else if (e.AddedItems.Contains(svcTab))
        {
            txtsvc.Focus();
        }
    }
    

    如果我把 txtusr.Focus()

    我怀疑这与tabitem内容在 .Focus()

    1 回复  |  直到 15 年前
        1
  •  10
  •   mdm20    15 年前

    尝试将.Focus()调用放入dispatcher.BeginInvoke中。

    Dispatcher.BeginInvoke(new Action(() => { txtsvc.Focus(); }));