2010-10-28 228 views
4

我需要更改TabItem的順序。如何更改wpf TabControl中TabItem的順序

我試過刪除/插入,它不起作用。

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

出現InvalidOperationException: 元素已經有一個邏輯父。它必須在與新父母連接之前從舊父母分離。

如何解決這個問題?

+1

上面列出的代碼適用於我在一個常規窗口(我沒有嘗試UserControl)。我假設TabItem是實際的TabItem的名稱,而不僅僅是TabItem關鍵字? – 2010-10-28 13:35:21

回答

4

解決使用「for」而不是「foreach」。

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