UIElement.DragEnter 事件

定义

当输入系统报告具有此元素作为目标的基础拖动事件时发生。

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

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

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

事件类型

注解

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

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

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

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

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

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

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

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

适用于

另请参阅