none
Changer le comportement du focus RRS feed

  • Question

  • Bonjour,

    Dans le cadre de la refonte d'une application VB 6.0 en WPF, j'ai besoin de revoir entièrement la gestion de la navigation par tabulation.

    Cette navigation semble désormais être plus ou moins à la charge du XAML mais j'ai déjà effectué de nombreuses recherches autour des classes suivantes :

    - KeyboardNavigation class

    - PredictFocus class

     

    Et malheureusement ni ces classes, ni même les nouvelles possibilités dans les déclarations en XAML ne me permettent d'obtenir le comportement désiré :

    Je voudrais entre autre que le focus se déplace dans les contrôles d'un formulaire selon une séquence de TabIndex unique numérotés de 1 à N en changeant de page si nécessaire sur les TabControl.

    Ex : si le dernier contrôle d'un TabPage a le focus, la touche tabulation passera à l'onglet suivant en sélectionnant le 1er contrôle.

     

    Je n'ai donc pas eu d'autre choix que de créer une nouvelle classe héritée de Window et redéfini la méthode OnPreviewGotKeyboardFocus(...) pour remplacer complétement le comportement par défaut.

     

    Je rencontre toutefois un problème :

    Pour mettre en place cette gestion des tabulations en WinForm, j'utilisais les événements : OnControlAdded du formulaire et OnTabIndexChanged des contrôles.

     

    - Existe-t-il des équivalents à ces événements en WPF ?

    - Ma démarche de vouloir remplacer complétement la gestion du focus par défaut (comme je l'avais déjà fait en WinForm) est-elle réaliste ou fais-je fausse route ?

     

    J'ai déjà posté ma question sur le forum anglais sans succès.

    Toute aide ou même un début de piste sur le sujet serait grandement apprécié.

     

    Par avance, merci.

    Alexandre.

    jeudi 24 juin 2010 07:55