繁体   English   中英

我想将组合框中的选定值传递给Powershell中的参数

[英]I want to pass a selected value in a combobox to a parameter in powershell

我在使用XAML创建的Windows窗体上有一个组合框。 我需要将选定的组合框值传递给脚本中的参数。 我希望代码仅在进行选择时才运行(例如,如果可能的话,例如单击按钮事件)。

我试过在$cboUseCase.之后使用不同的方法类型$cboUseCase. 在代码的开头。 现在,此代码正在尝试在加载窗口时运行,我需要仅在做出选择时才运行。 谢谢您的帮助。

$cboUseCase.({$configSelect = ($cboUseCase.SelectedItem.toString())
&$global:UCM.setConfigSelection -selection $configSelect})

不确定我是否真的理解您的问题。 这是一个可运行的示例,显示了如何在组合框中“捕获”选择更改。

也许它可以给您跟踪的轨迹:

[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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM