2017-04-11 23 views
0

XAMLを使用して作成されたWindowsフォームにコンボボックスがあります。選択したコンボボックスの値をスクリプトのパラメータに渡す必要があります。選択したときにのみコードが実行されるようにします(可能であれば、ボタンのクリックイベントなど)。コンボボックスで選択した値をpowershellのパラメータに渡したい

コードの先頭に$cboUseCase.の後に異なるメソッドタイプを使用しようとしました。今すぐこのコードは、ウィンドウがロードされているときに実行しようとしている、私は選択が行われたときにのみ実行する必要があります。ご協力ありがとうございました。

$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 
関連する問題