Frage

Wie der dynamisch erstellte Steuerelemente per Drag & Drop mein Code ist unten dargestellt

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

meine Anforderung ist diese dynamisch erstellte Schaltfläche Steuerung per Drag & Drop. Vielen Dank im Voraus

War es hilfreich?

Lösung

  1. Steuerung per Drag & Drop in den Designer nicht dynamicalled erstellt. Sie sind statisch angelegt und neu erstellt. Thesen Kontrollen sind von der Toolbox in den meisten Fällen.
  2. Kontrollen im Code deklariert hinter wie Ihr Knopf werden dynamisch erstellt. Sie müssen programmatisch erstellt und neu erstellt werden. Thesen Kontrollen sind exklusiv für den Code hinter.

Wenn jedoch dynamisch erstellten Steuerelemente verwendet, ist es üblich, zu den Platzhalter (diese Steuerung nicht gerendert) Ihre Objekte zu positionieren.

Um dies zu tun ...

  1. Ziehen und einen Platzhalter fallen, wo Sie Ihre Schaltfläche sein möchten. (Designer).
  2. Fügen Sie Ihren Knopf programmatisch auf den Platzhalter. (Code-Behind)

Zum Beispiel ...

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

Hope es hilft ...

Andere Tipps

Mein Vorschlag für Drag-and-Drop in Silverlight:

  1. Definieren Sie eine Leinwand Layout 'unten' Ihre regelmäßigen Layout (z-Reihenfolge).

  2. Wenn Sie wählen Sie Ihr Objekt per Drag-and-Drop aus Ihrem normalen Layout (Gittern, etc.), um das Objekt auf die darunter liegende Leinwand bewegen, die Pixelpositionierung ermöglicht. Bewegen Sie die Leinwand 'oben' im aktuellen Layout.

  3. Ziehen Sie das Objekt durch seine Leinwandposition zu aktualisieren.

  4. Wenn Sie den Drag fertig ist, senden Sie das Objekt zum regulären Layout an der entsprechenden Stelle (Sie vielleicht Fische haben durch Ihr Top-Level-Layout des entsprechenden Anschlusspunkt zu finden). Bringen Sie die Leinwandschicht auf eine niedrigere Z-Reihenfolge als die normale Layout.

Das funktionierte ziemlich gut für ein einfaches Drag & Drop-System, die ich brauchte.

Telerik Kontrollen stellen auch einen Drag-and-Drop-Framework.

-Jeff

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top