DragDrop.DragEnter Evento associato
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Si verifica quando un oggetto viene trascinato entro i limiti di un elemento che funge da destinazione del rilascio.
see AddDragEnterHandler, and RemoveDragEnterHandler
see AddDragEnterHandler, and RemoveDragEnterHandler
see AddDragEnterHandler, and RemoveDragEnterHandler
Esempio
Il seguente esempio mostra il gestore dell'evento DragEnter per un elemento Ellipse. Questo codice visualizza in anteprima gli effetti dell'operazione di trascinamento della selezione salvando il pennello Fill corrente. Verifica quindi se l'oggetto DataObject trascinato sui puntini di sospensione contiene dati stringa che possono essere convertiti in un Brushoggetto . In tal caso, Brush viene applicato all'ellisse. La modifica viene ripristinata nel gestore dell'evento DragLeave. Se i dati non possono essere convertiti in un Brush, non viene eseguita alcuna azione.
private Brush _previousFill = null;
private void ellipse_DragEnter(object sender, DragEventArgs e)
{
Ellipse ellipse = sender as Ellipse;
if (ellipse != null)
{
// Save the current Fill brush so that you can revert back to this value in DragLeave.
_previousFill = ellipse.Fill;
// 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, convert it.
BrushConverter converter = new BrushConverter();
if (converter.IsValid(dataString))
{
Brush newFill = (Brush)converter.ConvertFromString(dataString);
ellipse.Fill = newFill;
}
}
}
}
Private _previousFill As Brush = Nothing
Private Sub Ellipse_DragEnter(ByVal sender As System.Object, ByVal e As System.Windows.DragEventArgs)
Dim ellipse = TryCast(sender, Ellipse)
If ellipse IsNot Nothing Then
' Save the current Fill brush so that you can revert back to this value in DragLeave.
_previousFill = ellipse.Fill
' 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
Dim newFill As Brush = CType(converter.ConvertFromString(dataString), Brush)
ellipse.Fill = newFill
End If
End If
End If
End Sub
Commenti
Questo evento viene generato una volta ogni volta che un oggetto viene trascinato nei limiti di un elemento che funge da destinazione di rilascio. Questo evento non viene generato se la proprietà dell'elemento AllowDrop è false
.
La gestione di questo evento è facoltativa per la destinazione di rilascio e non è necessaria per tutti gli scenari di trascinamento. In genere si gestisce questo evento per fornire un'anteprima degli effetti dell'operazione di trascinamento e rilascio, se appropriato per l'applicazione. Non impostare la proprietà DragEventArgs.Effects nell'evento DragEnter, perché verrà sovrascritta nell'evento DragOver.
Informazioni evento indirizzato
Campo Identificatore | DragEnterEvent |
Strategia di routing | Bubbling |
Delegato | DragEventHandler |
L'evento di tunneling corrispondente è PreviewDragEnter.