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

Ale*_*aum 4 wpf tabcontrol tabitem

我需要更改TabItem的顺序.

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

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

InvalidOperationException:Element已具有逻辑父级.在将旧父级附加到新父级之前,必须将其与旧父级分离.

怎么解决这个?

Ale*_*aum 5

解决使用"for"而不是"foreach".

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