wpf-不需要的选择更改

wpf-不需要的选择更改,wpf,wpf-controls,Wpf,Wpf Controls,在我的主选项卡中,我有一些控件, 在我的第一个控件中,我有一个组合框。 我为MainTab写了一个SelectionChange, 但当它出现在combobox中时也会触发,我没有在combobox中添加任何选择更改事件, 但是,当我将选择更改添加到Combobox并设置e.erouted=true时,将不会触发maintab选择更改。 当我更改另一个控件所选项目时,如何防止触发Main Tab Selection change?我也遇到了此问题,但尚未找到原因或正确的解决方案。我目前(尽管很简

在我的主选项卡中,我有一些控件, 在我的第一个控件中,我有一个组合框。 我为MainTab写了一个SelectionChange, 但当它出现在combobox中时也会触发,我没有在combobox中添加任何选择更改事件, 但是,当我将选择更改添加到Combobox并设置e.erouted=true时,将不会触发maintab选择更改。
当我更改另一个控件所选项目时,如何防止触发Main Tab Selection change?

我也遇到了此问题,但尚未找到原因或正确的解决方案。我目前(尽管很简单)的解决方法是检查发送者是否是您期望的对象

在这种情况下,其含义如下:

if (sender != MainTab) 
    return;

在主选项卡选择更改事件中

 if (e.OriginalSource.GetType() != typeof(ComboBox))
     {
         //do the code of main tab selection  here..

     }

将e.Handled设置为true将阻止事件从子控件(ComboBox)冒泡到父控件(TabControl)

谢谢,但我想做一些它不会触发的事情。谢谢亲爱的shebin。最好使用原始源代码。如果嵌入ComboBox以外的对象,例如另一个TabControl?您最好比较实例和类型。它的问题是事件应该添加到每个组合框中,我们不能将其添加到所有组合框中。(我们不希望)