UIElement.Drop 事件

定义

在输入系统报告出现将此元素作为放置目标的基础放置事件时发生。

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"/>

事件类型

注解

若要Drop发生并调用处理程序,作为拖放目标和拖放操作源的 UIElement 上的 AllowDrop 值必须为 true

典型的处理程序将从 DragEventArgs 事件数据中检查 Data 值。

可以通过调用 StartDragAsync 方法在任何 UIElement 上启动拖放操作。 启动操作后, UIElement 只要 AllowDroptrue 位于该元素上,应用中的任何元素都可能成为放置目标,拖放操作传递的任何元素都可以处理 DragEnterDragLeaveDragOver

Drop 是路由事件。 元素必须将 AllowDroptrueDrop 设置为事件源。 如果允许事件因未经处理而向上浮升到父元素,则如果 AllowDrop 位于 true 父元素上,则可以处理父元素上的事件。 路由中不是处理程序对象或放置目标的中间元素不需要 AllowDroptrue。 有关路由事件概念的详细信息,请参阅 事件和路由事件概述

对于触摸操作、拖放操作以及特定于交互或触摸操作后果的操作事件,元素必须可见命中测试,才能成为事件源并触发与操作关联的事件。 UIElement.Visibility 必须为 Visible。 派生类型的其他属性也会影响命中测试可见性,例如 IsEnabled。 有关详细信息,请参阅事件和路由事件概述

Drop 支持将事件处理程序附加到将调用的路由的功能,即使事件的事件数据标记为“ 已处理”也是如此。 请参阅 AddHandler

特定Windows 运行时控件可能对事件具有基于类的Drop处理。 如果是这样,控件的逻辑可能具有 OnDrop 方法的替代。 通常,事件被标记为由 类处理程序处理,并且 Drop 不会引发 事件,以便由该控件上的任何用户代码处理程序进行处理。 有关详细信息,请参阅事件和路由事件概述

与事件发生无关,某些控件可能会使用主题动画(如 DragItemThemeAnimation )向用户直观地指示拖动行为。

适用于

另请参阅