任何人都可以为我提供一些有关在Powershell中处理WPF UI事件的文档的正确方向吗?
例如,我想知道在更改复选框或单选按钮时如何调用函数。
干杯!
本
考虑WPF和PowerShell,请看Bernd的WPF Linkcollection for PowerShell。您会找到许多有趣的链接,它们将对您有所帮助。
考虑您的问题,只需使用模式
$control.Add_<someevent>({ what to do })
例如,someevent
可能是按钮的Click
:
Click
您传入了处理事件的脚本块。
迟到聚会(超过4年)。具体解决$button.Add_Click({ $global:clicked = $true })
的评论。
但是如果有人像我一样通过Googling PowerShell WPF事件处理找到此帖子,想要获得Sender控件(发送者)和Event Args(e),这是...
C#版本(非特定模板)
jpierson
PowerShell版本
private void Handler(object sender, SomeEventArgs e)
{
//do something with sender and/or e...
}
并进入特定的MouseWheelHandler事件处理程序
C#版本(其中MouseWheelHandler事件已绑定到控件)
$WPFControl.Add_Handler({
$sender = $args[0]
$e = $args[1]
#do something with sender and/or e...
})
PowerShell版本
private void ScrollViewer_PreviewMouseWheel(object sender, MouseWheelEventArgs e)
{
ScrollViewer scv = (ScrollViewer)sender;
//do something with sender and/or e...
}
在PowerShell中,要获取发送方和事件参数的类型,请使用以下内容
$ScrollViewer.Add_PreviewMouseWheel({
$sender = [System.Windows.Controls.ScrollViewer]$args[0]
$e = [System.Windows.Input.MouseWheelEventArgs]$args[1]
#do something with sender and/or e...
})
在上面的示例中,它将为您提供...
$ScrollViewer.Add_PreviewMouseWheel({
Write-Host $args[0]
Write-Host $args[1]
})
好吧,这是一个远景,因为此帖子来自2015年,但我尝试过,但对我来说不起作用。它不会出现错误,但我无法访问发件人属性
System.Windows.Controls.ScrollViewer
System.Windows.Input.MouseWheelEventArgs
我试图为HMI制作通用导航系统
最好的问候,理查德