DragDrop.DragOver Zdarzenie dołączone
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Występuje stale, gdy obiekt jest przeciągany w granicach elementu działającego jako cel upuszczania.
see AddDragOverHandler, and RemoveDragOverHandler
see AddDragOverHandler, and RemoveDragOverHandler
see AddDragOverHandler, and RemoveDragOverHandler
Przykłady
W poniższym przykładzie przedstawiono procedurę DragOver obsługi zdarzeń Ellipse dla elementu. Ten kod sprawdza, czy DataObject przeciągnięty wielokropek zawiera dane ciągów, które można przekonwertować na Brushelement . Jeśli tak, ustawia DragEventArgs.Effects właściwość na Copy. Wskazuje to na źródło przeciągania, które można skopiować do wielokropka. Jeśli nie można przekonwertować danych na element Brush, właściwość jest ustawiona DragEventArgs.Effects na Nonewartość . Oznacza to źródło przeciągania, że wielokropek nie jest prawidłowym elementem docelowym upuszczania danych.
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
Uwagi
To zdarzenie jest stale wywoływane, gdy przeciągnięty obiekt znajduje się w granicach elementu działającego jako cel upuszczania. To zdarzenie nie jest zgłaszane, jeśli właściwość elementu AllowDrop to false
.
Zdarzenie DragOver jest sparowane ze GiveFeedback zdarzeniem w źródle przeciągania. W procedurze obsługi zdarzeń DragOver zwykle sprawdzasz, czy przesyłane dane są w formacie, który może przetworzyć obiekt docelowy. Można również sprawdzić, czy są naciskane jakiekolwiek klawisze modyfikujące, co zwykle wskazuje, czy użytkownik zamierza przenieść, czy akcję kopiowania. Po wykonaniu DragEventArgs.Effects tych testów należy ustawić właściwość, aby powiadomić źródło przeciągania, jaki będzie efekt upuszczania danych. Źródło przeciągania odbiera te informacje we Effects właściwości argumentów zdarzenia GiveFeedback i może ustawić odpowiedni kursor, aby przekazać opinię użytkownikowi.
Informacje dotyczące kierowanego zdarzenia
Pole identyfikatora | DragOverEvent |
Strategia routingu | Propagacji |
Delegat | DragEventHandler |
Odpowiednie zdarzenie tunelowania to PreviewDragOver.