qshinoの日記

Powershell関係と徒然なこと

Powershell イベント処理

PowerShellイベント処理/WPF

PowerShellでのWPFイベントハンドラの登録は、コントロールの持つadd_xxxを使う。

$button.add_Click({Write-Host "poi"})

引数

  • $this イベントソース
  • $_. EventArgs

但し、最初のイベントソースは、EventArgs のSourceプロパティだったかと。要確認。

EventHandler引数

別の情報によると、

  • $args[0] sender
  • $args[1] eventargs

どうなのかな?

参考

RotedEventArgs

プロパティ/全リスト

  • Handled
  • OriginalSource
  • Source
  • RoutedEvent

メソッド

Finalize() リソース解放許可

RoutedEvent

サンプル

protected virtual void OnSelectedColorChanged(Color oldColor, Color newColor)
{
RoutedPropertyChangedEventArgs<Color> newEventArgs =
        new RoutedPropertyChangedEventArgs<Color>(oldColor, newColor);
    newEventArgs.RoutedEvent = ColorPicker.SelectedColorChangedEvent;
    RaiseEvent(newEventArgs);
}

流れ

  1. Event発生
  2. Eventに応じたRoutedEventArgsの子クラスのインスタンスがハンドラに渡される。
  3. RoutedEventArgs.RoutedEvent に個別のデータが入っている?

DragEventArgs

RoutedEventArgsの子クラス

継承プロパティ: Handledなど

個別プロパティ/全リスト

  • AllowedEffects
  • Data
  • Effects
  • KeyStates

メソッド/全リスト

  • Equals(object)
  • GetHashCode()
  • GetPosition(IInputElement)
  • GetType()
  • ToString()

参考

RoutedEvent overview

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

DragEventArgs

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

RoutedEvent

https://msdn.microsoft.com/ja-jp/library/system.windows.routedeventargs.routedevent(v=vs.110).aspx

RoutedEventArgs

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

http://d.hatena.ne.jp/newpops/touch/20070120/p1

DragEventの参考

http://stackoverflow.com/questions/41155950/powershell-script-issue-handling-drag-and-drop-effects-for-wpf-listbox

一般的 for PS

http://stackoverflow.com/questions/3413418/wpf-and-powershell-handling-events

Buttonイベントにデータ渡し->新規クラスかSenderから

http://bbs.wankuma.com/index.cgi?mode=al2&namber=36092&KLOG=62

Teamfoundation.MVVM

https://blogs.msdn.microsoft.com/jpvsblog/2015/12/06/microsoft-teamfoundation-mvvm/

TeamFoundation.MVVM

http://thinkami.hatenablog.com/entry/2014/12/05/063309

Msdn Button class

https://msdn.microsoft.com/ja-jp/library/system.windows.controls.button(v=vs.110).aspx

StackOverflow Eventdata

http://stackoverflow.com/questions/18867049/get-checked-event-data-binding-wpf