Wpf 如何从TabControl获取上一个选定的TabItem索引?
以下xaml代码满足您的测试需求Wpf 如何从TabControl获取上一个选定的TabItem索引?,wpf,vb.net,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> <TabCo
<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代码。是SelectionChangedEventArgs
中的IList
属性,它保存自上次发生SelectionChanged
事件以来未选中的项目。
每次出现选项卡控件
事件的选择更改
时,您都可以检查它:
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" > ..
..
您可以处理SelectionChanged
事件,并从事件参数的RemovedItems
中获取它。为什么要RemovedItems?请查看我的答案,sry我对vb.net不太熟悉,但您应该能够轻松地转换它