Dot.Blog

C#, XAML, Xamarin, UWP/Android/iOS

Silverlight 4 : gestion du clic droit

[new:17/06/2010] Silverlight 4 apporte de nombreuses améliorations, certaines plus visibles que d’autres. Parmi les plus discrètes, mais pas forcément les moins utiles, se trouve désormais la gestion du Clic Droit.

L’exemple

Cliquez avec le bouton droit de la souris sur l’une des trois formes, un popup “glissant” viendra se coller à votre souris, à l’intérieur trois boutons radio permettant de choisir chacun une couleur (bleu, rouge, jaune). A l’arrivée du popup le radio bouton qui est sélectionné correspond toujours à la couleur actuelle de la forme choisie.

On peut bien entendu cliquer sur l’un des boutons pour changer la couleur de l’objet, ce qui entraine la fermeture du popup. On peut aussi décider de faire un autre clic droit sur une forme différente, le popup suivra alors la souris et le bouton coché sera mis à jour en fonction de la nouvelle cible.

[silverlight:source=/SLSamples/SLRightClick/SLRightClick.xap;width=300;height=300]

Le code

Je ne vais pas vous abreuver de lignes de codes, le projet exemple est à téléchargé en fin de billet, il sera bien plus facile de le consulter au travers de Visual Studio 2010 ou Blend 4.

Notons simplement que cette nouvelle prise en charge du clic droit par Silverlight 4 s’effectue grâce à deux nouveaux événements :

  • MouseRightButtonDown
  • MouseRightButtonUp

Il s’agit du pendant logique aux événements existants permettant de gérer le clic du bouton gauche. Tout cela se programme de la même façon et réagit identiquement.

Bien entendu lorsqu’un objet gère le clic droit l’utilisateur n’a plus accès au menu Silverlight. Toutefois ce dernier reste accessible partout où le clic droit n’est pas géré (reprenez l’exemple ci-dessus et faites un clic droit en dehors des trois formes colorées et vous obtiendrez le popup Silverlight classique).

En marge du code de démonstration du clic droit l’application présente certaines astuces qui vous intéresseront peut-être :

  • Gestion du clip de la forme extérieure à bord arrondi
  • Utilisation du nouveau behavior FluideMovebehavior qui anime le popup automatiquement
  • Astuce d’un canvas permettant de positionner facilement le popup près de la souris
  • Utilisation de la propriété Tag des radio boutons et des formes pour mémoriser la couleur choisie
  • Gestion du clic gauche sur toute la surface pour annuler le popup (abandon du popup par l’utilisateur)
  • Plus quelques autres petite choses que je vous laisse découvrir.

Conclusion

Gentiment mais surement, Silverlight se dote de capacités en faisant un outil de développement complet, paré pour la conception d’applications internet riches, belles et souples n’ayant rien à envier, côté pratique, aux application dites desktop. Le clic droit ce n’est pas grand chose, la gestion de menus popup locaux peut faire toute la différence entre un logiciel infernal à utiliser et un autre, à l’interface dépouillée, agréable à utilisé, n’affichant les menus locaux que lorsque cela est nécessaire et à l’endroit où ils ont un sens.

Bien entendu le clic droit peut être utilisé librement sans pour autant servir à afficher un popup. A chacun de faire preuve d’inventivité (en veillant à ce que malgré tout l’utilisateur puisse s’y retrouver, donc sans trop “casser” les codes ergonomiques classiquement admis).

Le code du projet :

 

Bon Clic !

Et Stay Tuned !

blog comments powered by Disqus