我正在使用在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--})
}
答案 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)