DragDrop.DragOver Evento adjunto
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Se produce continuamente mientras se arrastra un objeto dentro de los límites de un elemento que actúa como un destino para colocar.
see AddDragOverHandler, and RemoveDragOverHandler
see AddDragOverHandler, and RemoveDragOverHandler
see AddDragOverHandler, and RemoveDragOverHandler
Ejemplos
El ejemplo siguiente muestra el controlador de eventos DragOver para un elemento Ellipse. Este código comprueba si el DataObject que se está arrastrando sobre la elipse contiene datos de cadena que se pueden convertir en un Brush. Si es así, establece la propiedad DragEventArgs.Effects en Copy. Esto indica al origen de arrastre que los datos se pueden copiar a la elipse. Si los datos no se pueden convertir en un Brush, la propiedad DragEventArgs.Effects se establece en None. Esto indica al origen de arrastre que la elipse no es un destino para colocar válido para los datos.
private void ellipse_DragOver(object sender, DragEventArgs e)
{
e.Effects = DragDropEffects.None;
// If the DataObject contains string data, extract it.
if (e.Data.GetDataPresent(DataFormats.StringFormat))
{
string dataString = (string)e.Data.GetData(DataFormats.StringFormat);
// If the string can be converted into a Brush, allow copying.
BrushConverter converter = new BrushConverter();
if (converter.IsValid(dataString))
{
e.Effects = DragDropEffects.Copy | DragDropEffects.Move;
}
}
}
Private Sub Ellipse_DragOver(ByVal sender As System.Object, ByVal e As System.Windows.DragEventArgs)
e.Effects = DragDropEffects.None
' If the DataObject contains string data, extract it.
If e.Data.GetDataPresent(DataFormats.StringFormat) Then
Dim dataString = e.Data.GetData(DataFormats.StringFormat)
' If the string can be converted into a Brush, convert it.
Dim converter As New BrushConverter()
If converter.IsValid(dataString) Then
e.Effects = DragDropEffects.Copy Or DragDropEffects.Move
End If
End If
End Sub
Comentarios
Este evento se genera continuamente mientras un objeto arrastrado está dentro de los límites de un elemento que actúa como destino de colocación. Este evento no se genera si la propiedad del AllowDrop elemento es false
.
El DragOver evento se empareja con el GiveFeedback evento en el origen de arrastre. En el DragOver controlador de eventos, normalmente se comprueba que los datos transferidos están en un formato que el destino de colocación puede procesar. También puede comprobar si se presionan las teclas modificadoras, lo que normalmente indica si el usuario piensa mover o copiar una acción. Una vez realizadas estas comprobaciones, se establece la propiedad DragEventArgs.Effects para que notifique al origen de arrastre qué efectos tendrá la colocación de los datos. El origen de arrastre recibe esta información en la Effects propiedad de los argumentos del GiveFeedback evento y puede establecer un cursor adecuado para enviar comentarios al usuario.
Información sobre eventos enrutados
Campo identificador | DragOverEvent |
Estrategia de enrutamiento | Burbujeante |
Delegado | DragEventHandler |
El evento de tunelización correspondiente es PreviewDragOver.