SelectionChanged也触发嵌套控件?
问题描述:
对不起,误导性的标题,我会尽力解释更好。 我有这样一个TabControl:SelectionChanged也触发嵌套控件?
<dragablz:TabablzControl SelectionChanged="MainTabs_SelectionChanged" x:Name="MainTabs">
那里里面我有不同的TabItems
,我需要火每次事件MainTabs_SelectionChanged
用户改变TabItem
,这工作,但这个事件也发射时的选择在tabitem中可用的组合框,改变。
这是ComboBox
:
<ComboBox Grid.Column="1" Grid.Row="1" ItemsSource="{Binding Groups}"
Margin="8,0,8,16" DisplayMemberPath="Name" SelectedItem="{Binding SelectedGroup}" />
为什么会发生呢?
答
为什么会发生这种情况?
因为SelectionChanged
是路由事件。
路由事件概述:https://docs.microsoft.com/en-us/dotnet/framework/wpf/advanced/routed-events-overview
您可以使用OriginalSource
属性来确定是否选择一个选项卡:
private void MainTabs_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (e.OriginalSource == MainTabs)
{
//do your thing
}
}