Pregunta

Cómo arrastrar y soltar los controles creados dinámicamente mi código se muestra a continuación

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

Mi requisito es para arrastrar y soltar estos botones de control creada dinámicamente. Gracias de antemano

¿Fue útil?

Solución

  1. Controles de arrastrar y soltar en el diseñador no se dynamicalled creado. Se estáticamente creados y recreados. Tesis controles son accesibles desde la caja de herramientas en la mayoría de los casos.
  2. Controles declarados en el código detrás como su botón se crean dinámicamente. Ellos deben ser creados y recreados mediante programación. Tesis controles son exclusivos para el código subyacente.

Sin embargo, cuando el uso de controles creados dinámicamente es una práctica común el uso de marcadores de posición (este control no se representa) para colocar los objetos.

Para hacer esto ...

  1. Arrastre y suelte un marcador de posición en la que le gustaría que su botón sea. (Diseñador).
  2. Añada su botón al marcador de posición mediante programación. (Código Detrás)

Por ejemplo ...

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

Espero que ayuda ...

Otros consejos

Mi sugerencia para arrastrar y soltar en Silverlight:

  1. Definir un diseño de lienzo 'debajo' de su trazado regular (orden z).

  2. Cuando se selecciona el objeto de arrastrar y soltar de su trazado regular (rejilla, etc.), mover el objeto a la lona subyacente que permite el posicionamiento de píxeles. Mover el lienzo 'por encima' de la presentación actual.

  3. Arrastre el objeto mediante la actualización de su posición lienzo.

  4. Cuando haya terminado el arrastre, devolver el objeto a la disposición habitual en la ubicación apropiada (que podría tener que pescar a través de su diseño de alto nivel para encontrar el punto de conexión apropiado). Devolver la capa de tela inferior a un orden z que su trazado regular.

Esto funcionó bastante bien para un sencillo sistema de arrastrar y soltar que necesitaba.

Telerik controla también proporciona un marco de arrastrar y soltar.

-Jeff

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top