Я только что нашел, как я решил эту проблему.Также я не использую SelectionChanged.
Я добавил поведение к элементу DataTemplate (в корень сетки).Это поведение прикрепляет обработчик кликов к элементу.Когда используются ключи, поведение «спит», когда я щелкаю мышью на элементе, поведение вызывается и выполняет свою работу.(Также я связываю необходимое свойство item со свойством Tag в Grid DataTemplate, чтобы получить его из поведения)
Не подходит для каждого решения, но может быть полезно.