对于误导性的标题感到抱歉,我会尝试更好地解释。 我是这样的TabControl:
<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}" />
为什么会发生这种情况?
答案 0 :(得分:1)
为什么会发生这种情况?
因为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
}
}