wpf - TabControl 在 Window.Show 上丢失选定的选项卡

标签 wpf selection tabcontrol reset show-hide

我们有一个 MVVM (Cinch) 解决方案,其中有一个带有 TabControl 的窗口。 ItemsSource 绑定(bind)到 CollectionView(从 ObservableCollection 生成的 DefaultView),IsSynchronizedWithCurrentItem=true。第一次加载 Window 时一切正常...选项卡显示正确,用户可以在它们之间切换。

当窗口被隐藏并再次显示时会出现问题。无论 CollectionView 中的 CurrentItem 是什么,始终会再次选择第一个选项卡。 .Show 之前的行有 CurrentItem 作为我们想要的选项卡,但是选项卡在 .Show 操作期间切换。

有没有其他人遇到过这个问题?

最佳答案

这绝对是一个黑客。但是您可以覆盖 Activated 事件并在它被重置之前存储选项卡索引,并在它重新激活时再次设置它。

protected override void OnActivated(EventArgs e)
{
    int tabControlIndex = myTabController.SelectedIndex;
    base.OnActivated(e);
    myTabController.SelectedIndex = tabControlIndex ;
}

关于wpf - TabControl 在 Window.Show 上丢失选定的选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9120102/

相关文章:

c# - 在 XAML 中处理 Button 的 Click 事件?

Java - 无法从 JComboBox 获取所选项目

mysql - 具有多个左连接的 SQL

javascript - jQuery 跨标签突出显示元素中的文本片段

wpf - TabControl 宽度高度问题

wpf - 手动选项卡切换后将焦点设置在文本框上

c# - 在 WPF 中使用触发器设置对象属性

c# - 当列表计数为 "0"时插入到列表中

c# - 禁用事件处理的设计模式

WinForms 选项卡控件替换可用于大量选项卡