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);
}
流れ
- Event発生
- Eventに応じたRoutedEventArgsの子クラスのインスタンスがハンドラに渡される。
- 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の参考
一般的 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