WPF, как использовать SelectionChanged

В WPF у меня есть TabControl, и я прикрепил к нему обработчик событий SelectionChanged: когда я выбираю TabItem, я загружаю некоторые данные в DataGrid.

Проблема в том, что если я нажму на какую-либо строку в DataGrid, wpf снова вызовет TabControl SelectionChanged. Как я могу отрицать, что wpf вызывает это событие, когда я нажимаю строку в сетке данных?

Я пытался идентифицировать отправителя, но не работает:

private void TabControl_SelectionChanged_1(object sender, SelectionChangedEventArgs e)
{
   if(sender is TabControl){
     .....
     .....
    }
}

если я нажимаю на строку в сетке данных, она вызывается этим обработчиком, а отправителем является TabControl. Я не понимаю почему!!!


person Tom    schedule 17.03.2014    source источник
comment
Я не уверен, почему он снова срабатывает, но не могли бы вы просто сохранить отправителя в какой-то переменной и сравнить с ним (вместо того, чтобы выполнять проверку)?   -  person BradleyDotNET    schedule 18.03.2014
comment
Я должен создать обработчик события SelectionChanged также для DataGrid и ввести код: e.Handled = true ?!!   -  person Tom    schedule 18.03.2014
comment
Извините, я не уверен, какое влияние этот код оказал на изменение выбора элемента управления вкладками?   -  person BradleyDotNET    schedule 18.03.2014
comment
Я думаю, что SelectionChanged распространяется до элемента управления: поэтому, если он не обрабатывается сеткой данных, сигнал SelectionChanged переходит к родительскому элементу управления TabControl.   -  person Tom    schedule 18.03.2014
comment
Для чего тебе SelectionChanged?   -  person Federico Berasategui    schedule 18.03.2014