qshinoの日記

Powershell関係と徒然なこと

wpf drag and drop powershell

wpf drag and drop by powershell

powershellでのドラックアンドドロップ実装方法。

手順 1. xamlでAllowDrop=“True” 2. PowerShellでハンドラ実装 - Add_DropEnter - Add_DropLeave - その他のハンドラ

AllowDrop

<Window
  Name="w1"
  AllowDrop="True" >
  <StackPanel>
  </StackPanel>
</Window>

ハンドラ

$w : Window Object

function de($sender, $args){
  Wright-Host "Enter"
}

function dl($sender, $args){
  Wright-Host "Leave"
}

function dd($sender, $args){
  Wright-Host "Drop"
  $d = $args.Data.GetData("myformat")
}

# explorerのファイルの場合

function dde($s,$e){
    [string[]]$a = $e.Data.GetData(System.Windows.DataFormats.FileDrop);
  foreach($f in $a){
    Write-Host $f
  }
}


$w.Add_DragEnter( {de $this $_} )
$w.Add_DragLeave({dl $this $_ })
$w.Add_Drop({dde $this $_})

$args : DragEventArgs

参考

http://posaune.hatenablog.com/entry/2012/12/07/220208

https://www.codeproject.com/Articles/43614/Drag-and-Drop-in-WPF

http://www.wpftutorial.net/draganddrop.html

https://msdn.microsoft.com/ja-jp/library/ms742859(v=vs.110).aspx

http://qiita.com/Go-zen-chu/items/c6dbd4c472909118fad0

階層構造 System.Object   System.EventArgs    System.Windows.RoutedEventArgs       System.Windows.DragEventArgs