我們創建了一些很棒的PowerShell腳本。但隨着時間的推移,我們已經將腳本交給了非程序員。所以我們決定是時候爲PowerShell簡單易懂的GUI了。將WPK用於PowerShell GUI
我看過詹姆斯布倫戴奇的9頻道錄像。他的視頻在解釋Window,Stack-Panel,Doc-Panel,Grid,Labels和Textboxes方面做得非常出色。 但是總共有60多個控件。不知道WPF沒有幫助。
我想什麼做的是能夠做到以下幾點:
文本輸入
下拉列表
單選按鈕組
複選框組
我想出了,做了一個例子前三名但有bug。
無線電控制器直觀地顯示了第一個選擇的按鈕,但是當我拉出該組的值時,它是不正確的。
我找不到複選框的示例。
任何提示將不勝感激。
這是我在PowerShell的朝鮮勞動黨測試:
function TestGui {
Import-Module WPK
$SelectedRadio = "First"
New-Window -Title "Test User Input" -WindowStartupLocation CenterScreen `
-Width 400 -Height 300 -Show {
New-Grid -Rows 32*, 32*, 32*, 32* -Columns 100, 1* {
#create style to use on controls
$createLblStyle = @{
Margin = 5
HorizontalAlignment = "right"
VerticalAlignment = "center"
}
#Label Text for this row
New-TextBlock -Text "Pick fruit" `
-Row 0 -Column 0 @createLblStyle
# dropdown (combo box)
New-ComboBox -Name FruitList `
-row 0 -column 1 @createLblStyle `
-Items { "Apple", "Pear", "Peach" } -SelectedIndex 0
#Label Text for this row
New-TextBlock -Text "Pick number" `
-Row 1 -Column 0 @createLblStyle
# TextBox
New-TextBox -Name TextInputName `
-Row 1 -Column 1 @createLblStyle
#Label Text for this row
New-TextBlock -Text "Get Text Input" `
-Row 2 -Column 0 @createLblStyle
#Do three radio buttons for this row.
New-StackPanel -Row 2 -Column 1 -Orientation Horizontal {
New-RadioButton -Content "Pick first" `
-GroupName Results -IsChecked $True -On_Click {
$SelectedRadio = "First"
}
New-RadioButton -Content "Pick two" `
-GroupName Results -On_Click {
$SelectedRadio = "Second"
}
New-RadioButton -Content "Pick three" `
-GroupName Results -On_Click {
$SelectedRadio = "Third"
}
}
New-Button -Content "_Call PS Script" -Row 3 -Column 0 -Margin 3 -On_Click {
$FruitList = $window | Get-ChildControl FruitList
$TextInputName = $Window | Get-ChildControl TextInputName
$Results = $Window | Get-ChildControl Results
$Window.Close()
write-host "call PS script with: "
write-host "DropDown => " $FruitList.SelectedValue
write-host "TextBox => " $TextInputName.Text
write-host "Radio => " $SelectedRadio
}
New-Button -Content "Cancel" -Row 3 -Column 1 -Margin 3 -On_Click {
$Window.Close()
write-host "Cancel was pressed"
}
}
}
}
單選按鈕有什麼問題?我看不到任何東西。 –
bernd,這是當我試圖讓選定的按鈕回來,它並沒有給我一個我選擇的。 – Razcer
我測試了所有電子情況的初始狀態,中間,右側,左側單選按鈕和'Call PS Script'給出:Radio => First,Radio => First,Radio => Third,Radio => First。你是否總是獲得相同的價值,或者你獲得了不同的價值,但是錯誤的價值觀? –