Bonjour,

Désolé pour le titre du sujet qui est un peu obscure, je m'en rends compte ;-)

Voila, avec une image ce sera plus facile:

Nous sommes dans une fenêtre gérant les préférences du programme.

Note importante: tous les déplacements se font au clavier, avec les curseurs, et la touche "1" pour sélectionner un bouton.

Voila ce que je dois accomplir:
Avec le curseur, je me déplace à travers les boutons (ce sont en fait des "checkbox") et je valide ma préférence en pressant la touche "1" (tout ca, c'est bon et ca marche!)

MAIS, si je sélectionne le bouton "Genre" je dois "activer" une liste déroulante et y faire mon choix (par "1") puis presser sur "2" pour quitter ce "sous-menu" et revenir à la navigation normale à travers les boutons.

Ma question:
----------------
Comment, après avoir sélectionner "Genre", puis-je dorénavant "réserver" le curseur "haut/bas" à cette liste déroulante (et éviter par exemple que le focus atteigne les autres boutons). Puis, quand l'utilisateur en a terminer et presse "2" sur son clavier, remonter dans la hiérarchie et naviguer à nouveau uniquement à travers les boutons!

(j'espère que tout cela est clair?! ;-)

Pour l'instant, ce que j'ai fait: quand le bouton "Genre" est sélectionné, je déclare que la "grid" qui contient les éléments peut recevoir le focus..et le prends:
genreGris.IsFocusable = True
genreGrid.Focus()
Et en effet, la "grid" qui jusqu'à là était ignorée dans le déplacement par curseur est maintenant prise en compte. Le problème, c'est qu'au premier "haut/bas" avec le curseur, je "repars" vers les boutons.

En résumé:
--------------
Comment puis je "réserver" le déplacement par curseur à certaines parties de ma fenêtre.
D'abord pouvoir naviguer à travers plusieurs groupes de "checkbox", puis se limiter à une seule zone (Grid ou StackPanel), et pouvoir revenir en arrière

Merci de m'avoir lu et pour l'aide que vous voudrez bien m'apporter!