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 の値と、ドラッグ アンド ドロップ アクション ソース上の AllowDrop の値を にするtrue必要があります。

一般的なハンドラーは、DragEventArgs イベント データの Data 値をチェックします。

StartDragAsync メソッドを呼び出すことで、任意の UIElement でドラッグ アンド ドロップ アクションを開始できます。 アクションが開始されると、AllowDrop がその要素上にある限り、アプリ内の任意UIElementの要素がtrueドロップ ターゲットになる可能性があり、ドラッグ アンド ドロップ アクションが渡す要素は DragEnterDragLeaveまたは DragOver を処理できます。

Drop はルーティング イベントです。 要素がイベント ソースになるDropには、AllowDrop が必要ですtrue。 イベントがハンドルされないために親要素にバブルアップすることが許可されている場合、 AllowDrop が親要素上にある場合は true 、親要素のイベントを処理できます。 ハンドラー オブジェクトまたはドロップ ターゲットではないルート内の中間要素では、 AllowDrop を にする true必要はありません。 ルーティング イベントの概念の詳細については、「 イベントとルーティング イベントの概要」を参照してください。

タッチ アクション、ドラッグ ドロップ アクション、およびタッチ アクションの結果である対話式操作固有のイベントまたは操作イベントの場合は、イベント ソースとして要素をヒット テストで表示し、アクションに関連付けられているイベントを起動する必要があります。 UIElement.VisibilityVisible である必要があります。 派生型の他のプロパティも、 IsEnabled などのヒット テストの可視性に影響します。 詳しくは、「イベントとルーティング イベントの概要」をご覧ください。

Drop では、イベントのイベント データが Handled とマークされている場合でも呼び出されるルートにイベント ハンドラーをアタッチする機能がサポートされています。 「 AddHandler」を参照してください。

特定のWindows ランタイム コントロールには、イベントのクラス ベースの処理がDrop含まれる場合があります。 その場合は、コントロールのロジックに OnDrop メソッドのオーバーライドが含まれている可能性があります。 通常、イベントはクラス ハンドラーによって処理済みとしてマークされ Drop 、そのコントロールのユーザー コード ハンドラーによる処理ではイベントは発生しません。 詳しくは、「イベントとルーティング イベントの概要」をご覧ください。

イベントの発生とは無関係に、一部のコントロールでは DragItemThemeAnimation などのテーマ アニメーションを使用して、ユーザーへのドラッグ動作を視覚的に示すことができます。

適用対象

こちらもご覧ください