UIElement.Drop 事件
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在输入系统报告出现将此元素作为放置目标的基础放置事件时发生。
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
位于该元素上,应用中的任何元素都可能成为放置目标,拖放操作传递的任何元素都可以处理 DragEnter、 DragLeave 或 DragOver。
Drop
是路由事件。 元素必须将 AllowDroptrue
Drop
设置为事件源。 如果允许事件因未经处理而向上浮升到父元素,则如果 AllowDrop 位于 true
父元素上,则可以处理父元素上的事件。 路由中不是处理程序对象或放置目标的中间元素不需要 AllowDrop 为 true
。 有关路由事件概念的详细信息,请参阅 事件和路由事件概述。
对于触摸操作、拖放操作以及特定于交互或触摸操作后果的操作事件,元素必须可见命中测试,才能成为事件源并触发与操作关联的事件。 UIElement.Visibility 必须为 Visible。 派生类型的其他属性也会影响命中测试可见性,例如 IsEnabled。 有关详细信息,请参阅事件和路由事件概述。
Drop
支持将事件处理程序附加到将调用的路由的功能,即使事件的事件数据标记为“ 已处理”也是如此。 请参阅 AddHandler。
特定Windows 运行时控件可能对事件具有基于类的Drop
处理。 如果是这样,控件的逻辑可能具有 OnDrop 方法的替代。 通常,事件被标记为由 类处理程序处理,并且 Drop
不会引发 事件,以便由该控件上的任何用户代码处理程序进行处理。 有关详细信息,请参阅事件和路由事件概述。
与事件发生无关,某些控件可能会使用主题动画(如 DragItemThemeAnimation )向用户直观地指示拖动行为。