[Silverlight] [Drag&Drop] Intégrer facilement un glisser-déposer en Silverlight 4
Une pratique pas forcément simple à mettre en place en winform, mais qui se trouve bien plus simple à mettre en place en Silverlight ou en wpf, notamment grâce à une gestion des événements mieux pensée.
Les modifications au niveau des événements en WPF et en Silverlight par rapport au Windows Form classique sont simples mais bien plus logique (du coup on se demande comment on faisait avant...).
Prenons un exemple, nous avons un conteneur (Panel) et un bouton dans ce Panel. Je mets un écouteur sur l'évènement MouseMove de mon Panel.

En WinForm :
Tant que je déplace ma souris sur le Panel, pas de soucis mon événement est lancé correctement. Par contre si je déplace ma souris sur mon bouton, l’évènement MouseMove n’est plus lancé. Pire un MouseLeave du Panel est déclenché. Effectivement, je ne suis plus sur le Panel, je suis sur le bouton, c'est vrai mais illogique, en réalité je suis à la fois sur le bouton et sur le Panel.

En Silverlight et WPF :
Cette gestion a été (enfin ?) revue. Maintenant le mouse move sera lancé tant que je suis sur mon panel, même si mon curseur passe sur mon bouton. Cela permet une gestion beaucoup plus fine et permissive des événements.
Attention tout de même si j'ai des événements sur mon Panel et que celui-ci à un fond transparent, ils ne seront pas lancés ! C'est à savoir pour éviter de perdre un temps fou ...

Pour en revenir au drag & drop, rien de bien difficile, cela permet en très peu de temps de faire une liste que l'on peut trier sur elle-même ou avec d'autres listes.
Dans cet exemple j'utilise des StackPanel mais il est bien sûr possible d'adapter cela pour utiliser d'autres types de conteneurs.
Vous pouvez tester la démo ci dessous : (c'est pas qu'une image :-) )
1) When ribbon is in
1) When ribbon is in collapsed state, switching between tabs should not use fade-out animation.2) Dot-dot separators in backstage are too thick and blurry.3) Tab File should not sink 1 pixel down, when active.4) When backstage is active, main stage should not receive keyboard input (IsHitTest = false).5) When backstage is closed, main stage should restore focused control.6) Backstage should be keyboard (tab key) navigable.7) Out-of-browser application demo with working QAT over the chrome would be nice. Do you beta test before release?
cialis tablet cheap auto insurance
Agreed, I first saw this and
Agreed, I first saw this and thought “oooh a developer reference for Silverlight, I’ll print that and put it on my wall” I then scanned over the PNG and saved the ink.I think a poster identifying the object and event models and maybe the boundaries between Silverlight and WPF would be useful, not some marketing hype.
auto insurance rates cheap california auto insurance
Publier un nouveau commentaire