我在使用XAML创建的Windows表单上有一个组合框。我需要将选定的组合框值传递给我的脚本中的参数。我希望代码仅在我进行选择时运行(例如,如果可能的话,就像按钮点击事件一样)。
我尝试在代码开头$cboUseCase.
之后使用不同的方法类型。现在这个代码试图在加载Window时运行,我只需要在选择时运行它。谢谢你的帮助。
$cboUseCase.({$configSelect = ($cboUseCase.SelectedItem.toString())
&$global:UCM.setConfigSelection -selection $configSelect})
答案 0 :(得分:1)
不确定我真的理解你的问题。这是一个可运行的例子,显示如何"陷阱"组合框中的选择更改。
也许它可以给你一个跟踪的轨道:
[System.Reflection.Assembly]::LoadWithPartialName('PresentationFramework') | Out-Null
[xml]$xaml = @"
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Name="Window" Title="Initial Window" WindowStartupLocation = "CenterScreen"
SizeToContent = "WidthAndHeight" ShowInTaskbar = "True" Background = "lightgray">
<StackPanel>
<ComboBox x:Name="ComboBox1">
<ComboBoxItem>Item 1</ComboBoxItem>
<ComboBoxItem>Item 2</ComboBoxItem>
</ComboBox>
</StackPanel>
</Window>
"@
$reader = (New-Object System.Xml.XmlNodeReader $xaml)
$Window = [Windows.Markup.XamlReader]::Load($reader)
$ComboBox1 = $Window.FindName("ComboBox1")
$ComboBox1.add_SelectionChanged( {
param($sender, $args)
$selected = $sender.SelectedItem.Content
Write-Host "Selected: $selected"
} )
$Window.Showdialog() | Out-Null