如何从TabControl获取以前选择的TabItem索引?

时间:2018-03-03 23:09:57

标签: wpf vb.net

遵循xaml代码以满足您的测试需求。

<Window x:Class="MainWindow"  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="200" Width="350">
<DockPanel>
    <TabControl x:Name="TabControl" DockPanel.Dock="top">
        <TabItem x:Name="TabItem1" Header="London">
            <Label Content="London" />
        </TabItem>
        <TabItem x:Name="TabItem2" Header="Paris">
            <Label Content="Paris" />
        </TabItem>
        <TabItem x:Name="TabItem3" Header="Tokyo">
            <Label Content="Tokyo" />
        </TabItem>
        <TabItem x:Name="TabItem4" Header="Istanbul">
            <Label Content="Istanbul" />
        </TabItem>
    </TabControl>
</DockPanel>
</Window>

如何从TabControl获取以前的TabItem索引并在MessageBox中显示?

我需要从后面的代码运行的vb.net代码。

1 个答案:

答案 0 :(得分:1)

RemovedItemsIList中的SelectionChangedEventArgs属性,用于保存自上次SelectionChanged事件发生以来未被选中的项目。 每次发生SelectionChanged事件的TabControl时,您都可以查看它:

private void TabControl_OnSelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        if (e.RemovedItems.Count > 0)
        {
            var oldTabItem = e.RemovedItems[0] as TabItem;
        }
    }

<强> XAML:

 <DockPanel>
        <TabControl x:Name="TabControl" DockPanel.Dock="top" SelectionChanged="TabControl_OnSelectionChanged" > ..