Question

Comment faire glisser et déposer les contrôles créés dynamiquement mon code est illustré ci-dessous

 Button btnTask = new Button();
 btnTask.Content = _myCustomTasks[iCtr].Description;
 btnTask.Background = _myCustomTasks[iCtr].TaskColor;
 stackPanel.Children.Add(btnTask);

mon exigence est de faire glisser ce bouton de contrôle créé dynamiquement. Merci à l'avance

Était-ce utile?

La solution

  1. Les contrôles glissés et déposés dans le concepteur ne sont pas dynamicalled créé. Ils sont statiquement créés et recréés. Les thèses contrôles sont accessibles à partir de la boîte à outils dans la plupart des cas.
  2. Les contrôles déclarés dans le code derrière tel que votre bouton sont créés dynamiquement. Ils doivent être créés et recréés par programmation. Les thèses contrôles sont exclusifs au code derrière.

Cependant, lors de l'utilisation des contrôles dynamiquement créés, il est une pratique courante d'utiliser des espaces réservés (ce contrôle n'est pas rendu) pour placer vos objets.

Pour ce faire ...

  1. Faites glisser et déposez un PlaceHolder où vous souhaitez que votre bouton soit. (Designer).
  2. Ajoutez votre bouton au PlaceHolder programme. (Code derrière)

Par exemple ...

Button btnTask = new Button();
btnTask.Content = _myCustomTasks[iCtr].Description;
btnTask.Background = _myCustomTasks[iCtr].TaskColor;
PlaceHolder1.Controls.Add(btnTask);

it helps ...

Autres conseils

Ma suggestion pour le glisser-déposer dans silverlight:

  1. Définir une mise en page de toile "ci-dessous votre disposition régulière (ordre z).

  2. Lorsque vous sélectionnez votre objet à glisser-déposer de votre mise en page régulière (grille, etc.), déplacer l'objet sur la toile sous-jacente qui permet le positionnement des pixels. Déplacer la toile "au-dessus de la configuration actuelle.

  3. Faites glisser l'objet en mettant à jour sa position de toile.

  4. Lorsque vous avez terminé la glisser, retourner l'objet à la mise en page régulière à l'endroit approprié (vous pourriez avoir à pêcher par votre mise en page de haut niveau pour trouver le point de connexion approprié). Retour la couche de toile à un ordre z inférieur à votre disposition régulière.

Cela a fonctionné assez bien pour un système simple glisser-déplacer que je avais besoin.

Telerik contrôle fournit également un cadre drag-n-drop.

-Jeff

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top