Hemos creado algunas secuencias de comandos de PowerShell geniales. Pero a medida que pasa el tiempo, hemos dado los guiones a los no programadores. Así que decidimos que era hora de una GUI simple y fácil de entender para PowerShell.Uso de WPK para la interfaz gráfica de usuario de PowerShell
He visto los videos del canal 9 de James Brundage. Sus videos hacen un excelente trabajo al explicar Ventana, Panel de apilamiento, Panel de documentos, Cuadrícula, Etiquetas y Cuadros de texto. Sin embargo, hay más de 60 controles en total. No saber WPF no ayuda.
Lo que me gustaría hacer es ser capaz de hacer lo siguiente:
entrada de texto
lista desplegable
RadioButton Grupo Grupo
Casilla
me ocurrió con un ejemplo que hace el primeros tres pero con errores.
El control de radio muestra visualmente el primer botón seleccionado, pero cuando selecciono el valor para el grupo, no es correcto.
No puedo encontrar un ejemplo para la casilla de verificación.
Cualquier consejo sería apreciado.
Aquí es mi prueba de PTC en 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"
}
}
}
}
¿Cuál es el problema con el botón de opción? No puedo ver ninguno. –
bernd, es cuando trato de recuperar el botón seleccionado, no me da el que he seleccionado. – Razcer
Probé todos los casos e inicial botón de radio de estado, medio, derecha, izquierda y 'Llamar a PS Script' da: Radio => Primero, Radio => Primero, Radio => Tercero, Radio => Primero. ¿Obtuviste siempre el mismo valor o obtuviste valores diferentes pero incorrectos? –