2010-10-28 74 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; 
} 
相关问题