UIElement.Drop Ereignis
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Tritt auf, wenn das Eingabesystem ein zugrunde liegendes Ablageereignis meldet, das dieses Element als Ablageziel aufweist.
public:
virtual event DragEventHandler ^ Drop;
// Register
event_token Drop(DragEventHandler const& handler) const;
// Revoke with event_token
void Drop(event_token const* cookie) const;
// Revoke with event_revoker
UIElement::Drop_revoker Drop(auto_revoke_t, DragEventHandler const& handler) const;
public event DragEventHandler Drop;
function onDrop(eventArgs) { /* Your code */ }
uIElement.addEventListener("drop", onDrop);
uIElement.removeEventListener("drop", onDrop);
- or -
uIElement.ondrop = onDrop;
Public Custom Event Drop As DragEventHandler
<uiElement Drop="eventhandler"/>
Ereignistyp
Hinweise
Damit Drop auftritt und einen Handler aufruft, muss der Wert von AllowDrop für das UIElement , das das Ablageziel ist, und auch für die Drag-Drop-Aktionsquelle true sein.
Ein typischer Handler überprüft den Datenwert aus den DragEventArgs-Ereignisdaten .
Sie können eine Drag-Drop-Aktion für ein beliebiges UIElement initiieren, indem Sie die StartDragAsync-Methode aufrufen. Sobald die Aktion initiiert wurde, kann jedes UIElement in der App möglicherweise ein Ablageziel sein, solange AllowDrop für dieses Element true ist und alle Elemente, über die die Drag-Drop-Aktion übergeben wird, DragEnter, DragLeave oder DragOver verarbeiten können.
Drop ist ein routingfähiges Ereignis. Für ein Element muss AllowDroptrue sein, um eine Drop-Ereignisquelle zu sein. Wenn das Ereignis zu übergeordneten Elementen aufgeblasen werden darf, weil es nicht behandelt wird, ist es möglich, das Ereignis für ein übergeordnetes Element zu behandeln, wenn AllowDrop für das übergeordnete Element true ist. Für Zwischenelemente in der Route, die weder das Handlerobjekt noch das Ablageziel sind, muss AllowDroptrue sein. Weitere Informationen zum Konzept für routingfähige Ereignisse finden Sie unter Übersicht über Ereignisse und routingfähige Ereignisse.
Für Touchaktionen, Drag-Drop-Aktionen und auch für Interaktions- oder Manipulationsereignisse, die Folgen einer Touchaktion sind, muss ein Element treffertest sichtbar sein, um die Ereignisquelle zu sein und das Ereignis auszulösen, das der Aktion zugeordnet ist. UIElement.Visibility muss sichtbar sein. Andere Eigenschaften abgeleiteter Typen wirken sich auch auf die Treffertestsicht aus, z. B. IsEnabled. Weitere Informationen finden Sie unter Übersicht über Ereignisse und Routingereignisse.
Drop unterstützt die Möglichkeit, Ereignishandler an die Route anzufügen, die aufgerufen wird, auch wenn die Ereignisdaten für das Ereignis als Verarbeitet gekennzeichnet sind. Weitere Informationen finden Sie unter AddHandler.
Bestimmte Windows-Runtime-Steuerelemente verfügen möglicherweise über eine klassenbasierte Behandlung für das Drop-Ereignis. Wenn dies der Fall ist, hat die Logik des Steuerelements wahrscheinlich eine Überschreibung für die OnDrop-Methode. In der Regel wird das Ereignis vom Klassenhandler behandelt, und das Drop-Ereignis wird nicht zur Behandlung von Benutzercodehandlern für dieses Steuerelement ausgelöst. Weitere Informationen finden Sie unter Übersicht über Ereignisse und Routingereignisse.
Unabhängig vom Ereignisereignis können einige Steuerelemente Designanimationen wie DragItemThemeAnimation verwenden, um dem Benutzer visuell ein Ziehverhalten anzuzeigen.
Windows 8/Windows 8.1 Vor Windows 10 ermöglicht die Windows-Runtime Implementierung von Drag-Drop-Konzepten nur bestimmten Steuerelementen und Eingabeaktionen, eine Drag-Drop-Aktion zu initiieren. Es gibt keine StartDragAsync - oder generalisierte DoDragDrop-Methode , die es jedem UI-Element erlauben würde, eine Drag-Drop-Aktion zu initiieren. Die Standard Quelle einer Drag-Drop-Aktion in einer App ist, wenn Sie die Elemente einer Liste wie GridView ziehen.