Nat*_*ate 5 c# wpf tabs focus selectionchanged
我有一个标签控件和一些标签项.我成功地听了这个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();
}
}
Run Code Online (Sandbox Code Playgroud)
如果我只是放入txtusr.Focus()一个按钮事件处理程序,它就会完全按照我的预期进行聚焦.
我怀疑这与.Focus()调用方法时没有加载的tabitem内容有关,但我不确定如何修复它.
mdm*_*m20 10
尝试将focus()调用放在dispatcher.BeginInvoke中.
Dispatcher.BeginInvoke(new Action(() => { txtsvc.Focus(); }));
Run Code Online (Sandbox Code Playgroud)