1

私はWPFのタブコントロールに取り組んでいます。タブ コントロールに一連のタブを追加し、正常に動作する閉じるボタン メソッドも実装しました。

private void CloseTab(object source, RoutedEventArgs args)
    {            
        TabItem tabItem = args.Source as TabItem; 

        if (tabItem != null)
        {
            TabControl tabControl = tabItem.Parent as TabControl;
            if (tabControl != null)
                tabControl.Items.Remove(tabItem);             

        }            
    }

XAML:

<TabControl Name="ConnectTab" Style="{DynamicResource styleBackground}">
                        <tablocal:CloseableTabItem Header="Connect" > 
                        </tablocal:CloseableTabItem>
                        <tablocal:CloseableTabItem Header="I2C" />
                        <tablocal:CloseableTabItem Header="Voltage" />
                        <tablocal:CloseableTabItem Header="Clock" />

私が直面している問題は、すべてのタブが閉じられた後、1 つのタブをアクティブにしておく (閉じるべきではない) ことです。基本的に、ユーザーがタブの X ボタンをクリックしても、tabcontrol shud に残された最後のタブは閉じません。

4

1 に答える 1

1

条件を - に変更します。

if (tabControl != null && tabControl.Items.Count > 1)
    tabControl.Items.Remove(tabItem); 
于 2012-09-18T11:18:44.813 に答える