Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

DragDrop.DragEnter Evento associato

 

Data di pubblicazione: ottobre 2016

Si verifica quando un oggetto viene trascinato entro i limiti di un elemento che funge da destinazione del rilascio.

Spazio dei nomi:   System.Windows
Assembly:  PresentationCore (in PresentationCore.dll)

See AddDragEnterHandler, RemoveDragEnterHandler

This event is raised once each time an object is dragged into the bounds of an element that is acting as a drop target. This event is not raised if the element’s P:System.Windows.UIElement.AllowDrop property is false.

Handling this event is optional for the drop target, and is not necessary for all drag-and-drop scenarios. You typically handle this event to provide a preview of the effects of the drag-and-drop operation, if appropriate for your application. Do not set the P:System.Windows.DragEventArgs.Effects property in the E:System.Windows.DragDrop.DragEnter event, as it will be overwritten in the E:System.Windows.DragDrop.DragOver event.

Identifier field

DragEnterEvent

Routing strategy

Bubbling

Delegate

DragEventHandler

The corresponding tunneling event is E:System.Windows.DragDrop.PreviewDragEnter.

The following example shows the E:System.Windows.DragDrop.DragEnter event handler for an T:System.Windows.Shapes.Ellipse element. This code previews the effects of the drag-and-drop operation by saving the current P:System.Windows.Shapes.Shape.Fill brush. It then checks to see if the T:System.Windows.DataObject being dragged over the ellipse contains string data that can be converted to a T:System.Windows.Media.Brush. If so, the T:System.Windows.Media.Brush is applied to the ellipse. The change is reverted in the E:System.Windows.DragDrop.DragLeave event handler. If the data cannot be converted to a T:System.Windows.Media.Brush, no action is performed.

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;
            }
        }
    }
}
Torna all'inizio
Mostra: