2017-02-17 18 views
0

私はVisualStudioで作成したXAML GUIを使用しており、チェックボックスのコードの一部を設定しようとしています。それぞれを別々に行うのではなく、機能がすべて同じであるため、動的に行うことを望んでいました。PowerShellで複数のオブジェクトに対してメソッドを呼び出すにはどうすればよいですか?

私は検索しましたが、書かれたInvoke-Method関数への参照しか見つけることができませんでした。

以下は私が達成しようとしていることをより良く説明するために今まで私が持っていたものです。

Get-Variable行には、同じメソッドを呼び出そうとしている半ダースの変数があります。

$vars = Get-Variable WPFVarA* 
Foreach ($var in $vars) { 
    $var.Add_Checked.Invoke({$Global:TicketCount++}) 
    $var.Add_Unchecked.Invoke({$Global:TicketCount--}) 
} 
+1

期待されている何現在のコードによって生成されるエラーまたは望ましくない結果は何ですか? – TToni

答えて

0

チェックボックスがラップしている場合は、StackPanelの(何でもかまいません)あなたはこのようなすべてのイベントを処理するためにルーティングされたとしても、ハンドラを作成することができます(未テスト)と言う:

#Bubble up event handler 
[Windows.RoutedEventHandler]$Script:CheckedEventHandler = { 
    $Global:TicketCount++ 
} 
[Windows.RoutedEventHandler]$Script:UncheckedEventHandler = { 
    $Global:TicketCount-- 
} 

$StackPanel.AddHandler([Windows.Controls.CheckBox]::CheckedEvent, $CheckedEventHandler) 
$StackPanel.AddHandler([Windows.Controls.CheckBox]::UncheckedEvent, $UncheckedEventHandler)