PowerShell 变量值不同

PowerShell variable value is different

我是 Powershell/WPF 的新手,我遇到了一个无法解决的简单问题。我正在尝试从变量 = TextBox 中获取文本,但我得到的是“System.Windows.Controls.Button: Connect”。

这是我的 PowerShell 代码。

$TextBox.Add_TextChanged({
$script:TextBoxPS = $TextBox.Text.ToString()
})

$Button.Add_Click({param($TextBoxPS)
Write-Host "$TextBoxPS"
})

我不确定是什么问题。你们能帮忙吗?提前致谢!

在按钮的单击事件处理程序中,参数 $TextBoxPS 是事件的发送者(在本例中为按钮)。您需要访问您在文本框的文本更改事件中分配给的变量,您将其分配为脚本范围变量。

例如改为:

$Button.Add_Click({param($TextBoxPS)
Write-Host "$($script:TextBoxPS)"
})

在此处阅读有关范围的信息: about_Scopes