代码之家  ›  专栏  ›  技术社区  ›  Alexander Zwitbaum

如何更改wpf TabControl中TabItem的顺序

  •  4
  • Alexander Zwitbaum  · 技术社区  · 14 年前

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

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

    无效操作异常: 元素已具有逻辑父级。它必须先与旧的父对象分离,然后再附加到新的父对象。

    如何解决这个问题?

    1 回复  |  直到 14 年前
        1
  •  6
  •   Alexander Zwitbaum    14 年前

    用“for”而不是“foreach”解决了这个问题。

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