DragDrop.DoDragDrop(DependencyObject, Object, DragDropEffects) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ドラッグ アンド ドロップ操作を開始します。
public:
static System::Windows::DragDropEffects DoDragDrop(System::Windows::DependencyObject ^ dragSource, System::Object ^ data, System::Windows::DragDropEffects allowedEffects);
[System.Security.SecurityCritical]
public static System.Windows.DragDropEffects DoDragDrop (System.Windows.DependencyObject dragSource, object data, System.Windows.DragDropEffects allowedEffects);
public static System.Windows.DragDropEffects DoDragDrop (System.Windows.DependencyObject dragSource, object data, System.Windows.DragDropEffects allowedEffects);
[<System.Security.SecurityCritical>]
static member DoDragDrop : System.Windows.DependencyObject * obj * System.Windows.DragDropEffects -> System.Windows.DragDropEffects
static member DoDragDrop : System.Windows.DependencyObject * obj * System.Windows.DragDropEffects -> System.Windows.DragDropEffects
Public Shared Function DoDragDrop (dragSource As DependencyObject, data As Object, allowedEffects As DragDropEffects) As DragDropEffects
パラメーター
- dragSource
- DependencyObject
ドラッグするデータのソースである依存関係オブジェクトへの参照。
- data
- Object
ドラッグするデータを格納するデータ オブジェクト。
- allowedEffects
- DragDropEffects
ドラッグ アンド ドロップ操作の許容される効果を指定する DragDropEffects 値の 1 つ。
戻り値
ドラッグ アンド ドロップ操作中に実行された最終的な効果を指定する DragDropEffects 値の 1 つ。
- 属性
例外
dragSource
または data
が null
です。
例
次の例は、MouseMove 要素の Ellipse イベント ハンドラーからドラッグ アンド ドロップ操作を開始してドラッグ元にする方法を示しています。 転送されるデータは、楕円 Fill の プロパティの文字列表現です。 データは文字列として メソッドに DoDragDrop 渡され、 で DataObject自動的にラップされます。
private void ellipse_MouseMove(object sender, MouseEventArgs e)
{
Ellipse ellipse = sender as Ellipse;
if (ellipse != null && e.LeftButton == MouseButtonState.Pressed)
{
DragDrop.DoDragDrop( ellipse,
ellipse.Fill.ToString(),
DragDropEffects.Copy);
}
}
Private Sub Ellipse_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Input.MouseEventArgs)
Dim ellipse = TryCast(sender, Ellipse)
If ellipse IsNot Nothing AndAlso e.LeftButton = MouseButtonState.Pressed Then
DragDrop.DoDragDrop(ellipse, ellipse.Fill.ToString(), DragDropEffects.Copy)
End If
End Sub
注釈
ドラッグがいつ行われるかを判断し、ドラッグ アンド ドロップ操作を開始するのは、アプリケーションの役割です。 通常、これは、 と MouseMove の一連のイベントがドラッグされる要素に対して発生する場合MouseDownです。 ドラッグ アンド ドロップ操作を開始するには、静的 DoDragDrop メソッドを呼び出し、転送されたデータを渡します。 必要な場合、DoDragDrop メソッドは DataObject にデータを自動的にラップします。 データ形式の制御を拡大するには、データを DoDragDrop メソッドに渡す前に DataObject にラップします。
メソッドから DoDragDrop 返される値は、ドロップ ターゲットの DragEventArgs.Effects イベント ハンドラーで設定されたプロパティの Drop 値です。 戻り値が へのDoDragDrop呼び出しで指定された のいずれかとallowedEffects
一致しない場合、ドラッグ アンド ドロップ操作は実行されません。
適用対象
.NET