2010-10-28 7 views
4

Мне нужно изменить порядок TabItem.Как изменить порядок TabItem в wpf TabControl

Я пробовал с Remove/Insert и не работает.

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

InvalidOperationException: элемент уже имеет логический родитель. Он должен быть отделен от старого родителя, прежде чем он будет прикреплен к новому.

Как это решить?

+1

Приведенный выше код работает для меня в обычном окне (я не пробовал UserControl). Я полагаю, что TabItem - это имя фактического TabItem, а не только ключевое слово TabItem? –

ответ

4

Решено использовать «for» вместо «foreach».

if(condition) {  
    var tabItem = Tab.Items[index]; 
    Tab.Items.RemoveAt(index); 
    Tab.Items.Insert(0, tabItem); 
    ((TabItem)tabItem).IsSelected = true; 
} 
Смежные вопросы