2017-04-11 16 views
0

我在使用XAML創建的Windows窗體上有組合框。我需要將選定的組合框值傳遞給腳本中的參數。我希望代碼只在我做出選擇時運行(例如,如果可能的話,就像點擊按鈕事件一樣)。我想將組合框中的選定值傳遞給powershell中的參數

我試過在代碼的開頭使用$cboUseCase.之後使用了不同的方法類型。此時此代碼正試圖在Window加載時運行,我只需要在選擇時運行它。感謝您的幫助。

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

回答

0

不知道我真的明白你的問題。這是一個可運行的示例,展示如何在組合框中「截取」選擇更改。

也許它可以給你一個軌跡遵循:

[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 
相關問題