UIElement.DragLeave 事件

定义

当输入系统报告将此元素作为原点的基础拖动事件时发生。

public:
 virtual event DragEventHandler ^ DragLeave;
// Register
event_token DragLeave(DragEventHandler const& handler) const;

// Revoke with event_token
void DragLeave(event_token const* cookie) const;

// Revoke with event_revoker
UIElement::DragLeave_revoker DragLeave(auto_revoke_t, DragEventHandler const& handler) const;
public event DragEventHandler DragLeave;
function onDragLeave(eventArgs) { /* Your code */ }
uIElement.addEventListener("dragleave", onDragLeave);
uIElement.removeEventListener("dragleave", onDragLeave);
- or -
uIElement.ondragleave = onDragLeave;
Public Custom Event DragLeave As DragEventHandler 
<uiElement DragLeave="eventhandler"/>

事件类型

注解

要使 DragLeave 发生,当前 UIElement 和事件源上的 AllowDrop 值必须为 true。 否则,请考虑使用 PointerExited

可以通过调用 StartDragAsync 方法在任何 UIElement 上启动拖放操作。 启动操作后,只要 AllowDrop 在该元素上为 true,应用中的任何 UIElement 都可能成为放置目标。 拖放操作传递的任何元素都可以处理 DragEnter、DragLeave 或 DragOver

DragLeave 是路由事件。 有关路由事件概念的详细信息,请参阅 事件和路由事件概述

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

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

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

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

Windows 8/Windows 8.1 在Windows 10之前,拖放概念的Windows 运行时实现仅允许某些控件和输入操作来启动拖放操作。 没有允许任何 UI 元素启动拖放操作的 StartDragAsync 或通用 DoDragDrop 方法。 应用中拖放操作main源是拖动列表(如 GridView)的项目时。

适用于

另请参阅