在WPF中,是否有一个事件可用于确定TabControl
的选定选项卡何时更改?
我试过使用TabControl.SelectionChanged
,但是当一个选项卡中的孩子的选择发生变化时,它会被触发很多次。
发布于 2009-04-21 14:49:48
我把这个绑定到处理程序中,让它正常工作:
void TabControl_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (e.Source is TabControl)
{
//do work when tab is changed
}
}
发布于 2010-07-02 00:25:34
如果将每个TabItem
的x:Name
属性设置为:
<TabControl x:Name="MyTab" SelectionChanged="TabControl_SelectionChanged">
<TabItem x:Name="MyTabItem1" Header="One"/>
<TabItem x:Name="MyTabItem2" Header="2"/>
<TabItem x:Name="MyTabItem3" Header="Three"/>
</TabControl>
然后,您可以在活动中访问每个TabItem
:
private void TabControl_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (MyTabItem1.IsSelected)
// do your stuff
if (MyTabItem2.IsSelected)
// do your stuff
if (MyTabItem3.IsSelected)
// do your stuff
}
发布于 2014-02-27 16:02:55
如果您只想在选择选项卡时有一个事件,这是正确的方式:
<TabControl>
<TabItem Selector.Selected="OnTabSelected" />
<TabItem Selector.Selected="OnTabSelected" />
<TabItem Selector.Selected="OnTabSelected" />
<!-- You can also catch the unselected event -->
<TabItem Selector.Unselected="OnTabUnSelected" />
</TabControl>
在你的代码中
private void OnTabSelected(object sender, RoutedEventArgs e)
{
var tab = sender as TabItem;
if (tab != null)
{
// this tab is selected!
}
}
https://stackoverflow.com/questions/772841
复制相似问题