如何在wpf TabControl中更改TabItem的顺序

时间:2010-10-28 13:04:08

标签: wpf tabcontrol tabitem

我需要更改TabItem的顺序。

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

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

InvalidOperationException异常: 元素已经具有逻辑父级。在将旧父级附加到新父级之前,必须将其与旧父级分离。

如何解决这个问题?

1 个答案:

答案 0 :(得分:5)

使用“for”而不是“foreach”解决。

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