wpf - 如何改变wpf TabControl中TabItem的顺序

标签 wpf tabcontrol tabitem

我需要更改 TabItem 的顺序。

我试过删除/插入,但它不起作用。

void UserControl_Loaded(object sender, RoutedEventArgs e) {
  if(condition) {
    TabControl.Items.Remove(TabItem);
      TabControl.Items.Insert(0, TabItem);
    }
}

无效操作异常:
元素已经有一个逻辑父元素。它必须先与旧父级分离,然后才能连接到新父级。

如何解决这个问题?

最佳答案

使用“for”代替“foreach”解决。

if(condition) {    
  var tabItem = Tab.Items[index];
  Tab.Items.RemoveAt(index);
  Tab.Items.Insert(0, tabItem);
  ((TabItem)tabItem).IsSelected = true;
}

关于wpf - 如何改变wpf TabControl中TabItem的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4043179/

相关文章:

c# - 在选项卡控件内按名称顺序迭代文本框

c# - 从 TabItem 获取并迭代控件?

c# - 使用 MVVM 动态添加时给予 TabItem 焦点

wpf - 资源字典样式对 UserControl 不可用

c# - WPF 应用程序托盘图标

c# - 将我在 Visual 2010 中的项目定位到 .Net 4.0,但系统仍在寻找 dll 'System.Core version 2.0.5.0'

wpf - 如何确定添加到 TabControl 的项目的类型?

c# - 在 WinForms 选项卡控件中,我如何知道您正在从/向哪个选项卡移动?

c# - 在 c# wpf 中将 WriteableBitmap 像素格式转换为 Bgra32

c# - 激活作为 AutomationElement 检索的 TabControl 中的选项卡