[Silverlight] [Drag&Drop] Intégrer encore plus facilement un glisser-déposer en Silverlight.

Suite à la première version (disponible ici) du drag&drop voici la version 2 du drag&drop.
Toute la gestion du glissé-déposé est maintenant déporté dans une classe, pour permettre une utilisation plus simple mais aussi plus propre.



//Initialisation du contrôle
_dragAndDropManager = new DragAndDropManager(grdPrincipal);
_dragAndDropManager.DefinirUneAireDeDeplacementMaximum(grdPrincipal);

//Les zones dans lequels on peut déplacer les contrôles
_dragAndDropManager.AjouterUneZoneAvecControlesDeplacables(stp1);
_dragAndDropManager.AjouterUneZoneAvecControlesDeplacables(stp2);
_dragAndDropManager.AjouterUneZoneAvecControlesDeplacables(stp3);

//Il suffit d'ajouter les contrôles au DragAndDropManager.
_dragAndDropManager.AjouterUnControleDeplacable(CreationBille(Bille.Couleur.Bleu, ref stp1));
_dragAndDropManager.AjouterUnControleDeplacable(CreationBille(Bille.Couleur.Jaune, ref stp1));
_dragAndDropManager.AjouterUnControleDeplacable(CreationBille(Bille.Couleur.Orange, ref stp1));
_dragAndDropManager.AjouterUnControleDeplacable(CreationBille(Bille.Couleur.Rouge, ref stp1));
_dragAndDropManager.AjouterUnControleDeplacable(CreationBille(Bille.Couleur.Verte, ref stp1));
_dragAndDropManager.AjouterUnControleDeplacable(CreationBille(Bille.Couleur.Violette, ref stp2));

//On peut s'abonner à quelques événements
_dragAndDropManager.OnDragAndDropDebut += new EventHandler<EventHandlerDragDropDebut>(DragAndDropManager_OnDragAndDropDebut);
_dragAndDropManager.OnDragAndDropMove += new EventHandler<EventHandlerDragDropMove>(DragAndDropManager_OnDragAndDropMove);
_dragAndDropManager.OnDragAndDropFin += new EventHandler(DragAndDropManager_OnDragAndDropFin);

L'utilisation en est très simple, tous les événements sont gérés pas la classe elle même. Passe de 3 à 4 ou 5 colonnes) prends pas plus de 30 secondes, pratique !
Bien sûr la classe n'en n'est qu'a ses débuts il reste à rajouter, la suppression des contrôles et d'autres choses mais elle est déjà utilisable et si elle ne l'est pas, elle peux servire d'une très bonne base.

Voici une démo :


Publier un nouveau commentaire

Le contenu de ce champ sera maintenu privé et ne sera pas affiché publiquement.
  • Les adresses de pages web et de courriels sont transformées en liens automatiquement.
  • Tags HTML autorisés : <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Les lignes et les paragraphes vont à la ligne automatiquement.

Plus d'informations sur les options de formatage

CAPTCHA visuel
Entrez les caractères (sans espace) affichés dans l'image.
© 2011 Copyright cigo-developpement.fr