2017-04-19 54 views
0

我在Visual Studio中製作了一個WPF GUI,並使用PowerShell進行操作。我目前正在研究如何使用GUI元素更改數據,並且陷入ComboBox中。下面是相關的代碼:如何從ComboBox SelectedItem中獲取文本?

$testVar=$WPFcombobox.SelectedItem.ToString() 
Write-Host $testVar; 

而這裏的輸出:

System.Windows.Controls.ComboBoxItem:test123

我想回去只是

test123

我也試過$testVar=$WPFcombobox.SelectedItem

但是得到了同樣的結果。

我也試過$testVar=$WPFcombobox.SelectedItem.Text.

和什麼也得不到。如果在此之後添加.ToString(),則會出現「空值」錯誤。

我知道我可以創建一個新變量並切斷不相關的部分,但是如果有更好的方法來獲得我想要的輸出,我寧願這樣做。

+2

[「ComboBox.Text地產 - 獲取或設置當前選定項目的文本。」(https://msdn.microsoft.com/en-us/ library/system.windows.controls.combobox.text(v = vs.110).aspx)? – TessellatingHeckler

+0

@TessellatingHeckler我正在使用PowerShell。您的鏈接適用於C#,C++,F#和VB。 – jdope

+0

您的PowerShell使用不同的.Net框架到C#,C++,F#和VB嗎?我的不是。 – TessellatingHeckler

回答

0

假設$WPFComboBox是你的控件的名稱:

$TestVar = $WPFComboBox.Text 
Write-Host $TestVar 

無需找到所選項目。所選項目的值將自動分配給ComboBox.Text屬性。

+0

啊!所以和TextBox一樣。我感到很傻。謝謝! – jdope

0

你應該在ComboBoxItemContent屬性調用ToString()

testVar=$WPFcombobox.SelectedItem.Content.ToString() 

您可能需要先投SelectedItem財產。這就是如何在C#中做到這一點:

var item = WPFcombobox.SelectedItem as ComboBoxItem; 
string text = item.Content.ToString(); 
相關問題