我们有一个MVVM(Cinch)解决方案,其中包含一个带TabControl的Window。 ItemsSource绑定到CollectionView(从ObservableCollection生成的DefaultView),IsSynchronizedWithCurrentItem = true。第一次加载窗口时,一切都很好......标签正确显示,用户可以在它们之间切换。
隐藏窗口并再次显示时会出现问题。无论CollectionView中的CurrentItem是什么,始终再次选择第一个选项卡。 .Show之前的行将CurrentItem作为我们想要的标签,但是标签在.Show操作期间切换。
还有其他人遇到过这个问题吗?
答案 0 :(得分:1)
这绝对是一个黑客攻击。但是您可以覆盖Activated事件并在重置之前存储选项卡索引,并在重新激活时再次设置它。
protected override void OnActivated(EventArgs e)
{
int tabControlIndex = myTabController.SelectedIndex;
base.OnActivated(e);
myTabController.SelectedIndex = tabControlIndex ;
}