語言

DragDrop 類別

定義

提供輔助方法與欄位以啟動拖放操作,包括啟動拖放操作的方法,以及新增與移除拖放相關事件處理程序的功能。

public ref class DragDrop abstract sealed
public static class DragDrop
type DragDrop = class
Public Class DragDrop
繼承
DragDrop

備註

拖放通常指的是一種資料傳輸方法,透過滑鼠(或其他指向裝置)選擇一個或多個物件,將這些物件拖曳到使用者介面(UI)中想要的放置目標上,然後將其丟棄。 拖放操作類似於複製(或剪切)貼上操作,用於將資料從一個物件或應用程式轉移到另一個物件。 拖放操作通常涉及兩方:一個是拖曳來源,該來源是拖曳資料的來源,另一個是接收掉落資料的投放目標。 拖放操作所需的事件與方法已在類別 DragDrop 中定義。 拖放事件是可附加於任意 UIElementContentElement的事件。 拖放來源與放放目標可以是同一應用程式中的 UI 元素,或是不同應用程式中的元素。 然而,投放目標必須知道如何處理拖曳源傳遞的資料。

Note

UIElementContentElement類別包含拖放事件的別名,當這些類別繼承為基底類別時,事件會出現在類別成員列表中。 當你將事件處理程序附加到這些類別的拖放事件時,處理器會附加到底層 DragDrop 事件,並接收相同的事件資料實例。 如需範例,請參閱 UIElement.Drop

拖曳源會透過呼叫靜態 DoDragDrop 方法並將傳輸的資料傳給它來啟動拖放操作。 當元素是拖源時,通常會處理以下事件:

當元素是投放目標時,通常會處理以下事件:

欲了解更多資訊與範例,請參閱 拖放概覽

欄位

名稱 Description
DragEnterEvent

識別 DragEnter 所附事件。

DragLeaveEvent

識別 DragLeave 所附事件。

DragOverEvent

識別 DragOver 所附事件。

DropEvent

識別 Drop 所附事件。

GiveFeedbackEvent

識別 GiveFeedback 所附事件。

PreviewDragEnterEvent

識別 PreviewDragEnter 所附事件。

PreviewDragLeaveEvent

識別 PreviewDragLeave 所附事件。

PreviewDragOverEvent

識別 PreviewDragOver 所附事件。

PreviewDropEvent

識別 PreviewDrop 所附事件。

PreviewGiveFeedbackEvent

識別 PreviewGiveFeedback 所附事件。

PreviewQueryContinueDragEvent

識別 PreviewQueryContinueDrag 所附事件。

QueryContinueDragEvent

識別 QueryContinueDrag 所附事件。

方法

名稱 Description
AddDragEnterHandler(DependencyObject, DragEventHandler)

DragEnter 指定的相依物件新增事件處理器。

AddDragLeaveHandler(DependencyObject, DragEventHandler)

DragLeave 指定的相依物件新增事件處理器。

AddDragOverHandler(DependencyObject, DragEventHandler)

DragOver 指定的相依物件新增事件處理器。

AddDropHandler(DependencyObject, DragEventHandler)

Drop 指定的相依物件新增事件處理器。

AddGiveFeedbackHandler(DependencyObject, GiveFeedbackEventHandler)

GiveFeedback 指定的相依物件新增事件處理器。

AddPreviewDragEnterHandler(DependencyObject, DragEventHandler)

PreviewDragEnter 指定的相依物件新增事件處理器。

AddPreviewDragLeaveHandler(DependencyObject, DragEventHandler)

PreviewDragLeave 指定的相依物件新增事件處理器。

AddPreviewDragOverHandler(DependencyObject, DragEventHandler)

PreviewDragOver 指定的相依物件新增事件處理器。

AddPreviewDropHandler(DependencyObject, DragEventHandler)

PreviewDrop 指定的相依物件新增事件處理器。

AddPreviewGiveFeedbackHandler(DependencyObject, GiveFeedbackEventHandler)

PreviewGiveFeedback 指定的相依物件新增事件處理器。

AddPreviewQueryContinueDragHandler(DependencyObject, QueryContinueDragEventHandler)

PreviewQueryContinueDrag 指定的相依物件新增事件處理器。

AddQueryContinueDragHandler(DependencyObject, QueryContinueDragEventHandler)

QueryContinueDrag 指定的相依物件新增事件處理器。

DoDragDrop(DependencyObject, Object, DragDropEffects)

啟動拖放操作。

RemoveDragEnterHandler(DependencyObject, DragEventHandler)

移除 DragEnter 指定相依物件中的事件處理程序。

RemoveDragLeaveHandler(DependencyObject, DragEventHandler)

移除 DragLeave 指定相依物件中的事件處理程序。

RemoveDragOverHandler(DependencyObject, DragEventHandler)

移除 DragOver 指定相依物件中的事件處理程序。

RemoveDropHandler(DependencyObject, DragEventHandler)

移除 Drop 指定相依物件中的事件處理程序。

RemoveGiveFeedbackHandler(DependencyObject, GiveFeedbackEventHandler)

移除 GiveFeedback 指定相依物件中的事件處理程序。

RemovePreviewDragEnterHandler(DependencyObject, DragEventHandler)

移除 PreviewDragEnter 指定相依物件中的事件處理程序。

RemovePreviewDragLeaveHandler(DependencyObject, DragEventHandler)

移除 PreviewDragLeave 指定相依物件中的事件處理程序。

RemovePreviewDragOverHandler(DependencyObject, DragEventHandler)

移除 PreviewDragOver 指定相依物件中的事件處理程序。

RemovePreviewDropHandler(DependencyObject, DragEventHandler)

移除 PreviewDrop 指定相依物件中的事件處理程序。

RemovePreviewGiveFeedbackHandler(DependencyObject, GiveFeedbackEventHandler)

移除 PreviewGiveFeedback 指定相依物件中的事件處理程序。

RemovePreviewQueryContinueDragHandler(DependencyObject, QueryContinueDragEventHandler)

移除 PreviewQueryContinueDrag 指定相依物件中的事件處理程序。

RemoveQueryContinueDragHandler(DependencyObject, QueryContinueDragEventHandler)

移除 QueryContinueDrag 指定相依物件中的事件處理程序。

附加事件

名稱 Description
DragEnter

當物體被拖入作為落下目標的元素範圍時,會發生這種情況。

DragLeave

當物體被拖出作為掉落目標的元素範圍外,卻未被丟下時發生。

DragOver

當物體被拖入作為落下目標的元素範圍內時,會持續發生。

Drop

當物體被放置在作為落下目標的元素範圍內時,發生的情況。

GiveFeedback

在拖放操作進行中持續發生,並使拖曳源能向使用者提供回饋。

PreviewDragEnter

當物體被拖入作為落下目標的元素範圍時,會發生這種情況。

PreviewDragLeave

當物體被拖出作為掉落目標的元素範圍外,卻未被丟下時發生。

PreviewDragOver

當物體被拖入作為落下目標的元素範圍內時,會持續發生。

PreviewDrop

當物體被放置在作為落下目標的元素範圍內時,發生的情況。

PreviewGiveFeedback

在拖放操作進行中持續發生,並使拖曳源能向使用者提供回饋。

PreviewQueryContinueDrag

在拖放操作進行中持續發生,並使下載來源能根據按鍵/按鍵狀態結束拖放操作。

QueryContinueDrag

在拖放操作進行中持續發生,並使下載來源能根據按鍵/按鍵狀態結束拖放操作。

適用於

另請參閱