Pourquoi voulez-vous savoir? J'ai codé de nombreux dialogues où j'ai eu des situations similaires - Je ne voulais pas vraiment savoir si l'utilisateur utilisait la souris ou le clavier, mais je voulais un comportement spécifique, et je voulais des effets en déclenchant une liaison pour se comporter de la bonne manière.
Pour la plupart des cas, j'ai trouvé que l'utilisation du motif MVVM - ou du moins la séparation de la logique de l'interface utilisateur - évite souvent ces problèmes.
Donc pour votre problème, j'essaierais d'éliminer le gestionnaire de selectionchanged et d'utiliser uniquement des liaisons - ainsi l'état de l'interface utilisateur est basé sur le modèle en arrière-plan et non sur le câblage des événements.
mvvm: http://fr.wikipedia.org/wiki/Modèle-Vue-VueModèle