Découvrir Windows Presentation Foundation

Comprendre les évènements routés

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Abordez le sujet des évènements routés et faites le tour des différents types d'évènements, directs, bubbled et tunneling.
04:23

Transcription

Comme toutes les interfaces graphiques en programmation, WPF est basé sur modèle d'événements. Vous avez une interface graphique qui vous offre un certain nombre de contrôles : des boutons, des radioboutons, des CheckBox, etc. Et lorsque vous effectuez une action sur un contrôle ça déclenche un événement. Cet événement peut être totalement silencieux ou récupéré par un Gestionnaire d'événements et donc, vous décidez à tout moment sur tout contrôle de faire du code pour gérer l'événement et donc effectuer une action. Dans WPF on appelle ces événements des événements routés. Alors déjà, première étape, on a tout à fait des événements simples, c'est ce qu'on appelle les événements directs. Je clique sur un objet type Button et je lui attribue un gestionnaire d'événements qui se déclenche au clic, par exemple, et donc, zéro problème, on exécute le code quand quelqu'un clique sur le bouton, on a compris. Mais l'événement est routé, c'est-à-dire qu'il y a aussi deux autres possibilités. Sur les événements routés je peux avoir, par exemple sur mon Button, un gestionnaire d'événements et peut-être sur ma Window ou tout autre contrôle qui est plus haut dans l'arbre logique, je peux avoir un Gestionnaire d'événements spécifique. Par exemple sur mon Button j'ai un clic et puis sur ma Grid, j'ai aussi un gestionnaire d'événements pour le clic et puis sur ma Winidow, j'ai aussi un gestionnaire d'événements pour le clic. Donc dans ce sens, si je clique sur mon bouton je vais avoir un phénomène qui s'appelle un événement bubbled : un BubbledEvent, c'est-à-dire mon Gestionnaire d'événements va se déclencher. Et puis peut-être, ça dépend d'une option, mon Gestionnaire d'événements de la fenêtre va se déclencher également. Si je n'ai pas de Gestionnaire d’événements ici sur mon Button, et bien, c'est le gestionnaire d'événements de la fenêtre de toute façon, qui va se déclencher. Donc si vous voulez, au niveau le plus bas dans l'arbre logique, c'est mon bouton, je suis en train de cliquer dessus. Je n'ai pas de gestionnaire d'événements par exemple, eh bien l'événement va remonter l'arbre jusqu'à la racine, pour voir s'il y a un gestionnaire d'événements qui est posé et se déclencher. Je peux, donc, grâce au BubbledEvents gérer des clics sur une multitude de bouton en utilisant un gestionnaire d'événements unique, global, si vous voulez. Ensuite, eh bien ça marche aussi dans l'autre sens. Il y a un effet de tunneling. Ce sont des événements qui sont tous préfixés par PreView pour prévisualisation. A quoi ça sert ? Et comment ça marche d'ailleurs ? Eh bien, lorsque vous cliquez sur un bouton, il y a un événement PreView qui se déclenche déjà dans les éléments plus hauts dans l'arbre logique. Par exemple, vous cliquez sur votre bouton eh bien, vous avez un PreView au niveau de la Window, au niveau de la Grid si vous êtes dans une Grid etc. sur un événement de type mousedown, par exemple, le bouton de la souris a été appuyé. A quoi ça sert ? Ça ne sert pas tous les jours. Mais par exemple si vous avez un contrôle sur lequel vous faites de l'édition, un contrôle de type RichText par exemple et vous êtes en train de taper du texte puis vous appuyez sur Entrée. Et vous voulez pour une raison ou une autre par exemple, que Entrée déclenche quelque chose au niveau de la fenêtre, par exemple une sauvegarde de votre document. Eh bien vous avez la possibilité de récupérer par le PreView la touche Entrer, avant qu'elle soit gérée automatiquement par le RichText Control, par votre contrôle, qui va lui faire un retour chariot dans le texte. Eh bien, vous pouvez récupérer en PreView cette touche Entrée pour pouvoir faire quelque chose. Et puis ensuite elle va être tunnelée, elle va descendre dans la hiérarchie, arriver au RichText Control, par exemple ici, et à ce moment-là, être gérée en Intern, par le RichText Control ou par un événement que vous avez défini. Donc dans les deux sens : bubbled on va du contrôle jusqu'à ses parents pour faire passer l'événement vers les contrôles les plus hauts et puis le tunneling c'est : on a des événements de type PreView qui commencent à se déclencher en haut de la hiérarchie de l'arbre logique et qui descendent jusqu'au contrôle sur lequel on a effectué l'action.

Découvrir Windows Presentation Foundation

Améliorez la qualité de vos interfaces graphiques avec WPF (Windows Presentation Foundation). Découvrez le langage XAML, définissez votre interface graphique manuellement, etc.

3h12 (40 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Spécial abonnés
Date de parution :12 mai 2016

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !