如何在PowerShell中调用多个对象的方法?

时间:2017-02-17 02:46:27

标签: powershell

我正在使用在VisualStudio中创建的XAML GUI,我正在尝试为复选框设置一些代码。我没有单独做每一个,而是希望动态地做,因为功能都是一样的。

我已搜索过,但只能找到对已编写的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 个答案:

答案 0 :(得分:0)

如果复选框被包装,比如堆栈面板(可能是任何东西),你可以创建一个路由偶数处理程序来处理所有事件,如下(未经测试):

#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)