SHOW:
|
|
- or go back to the newest paste.
| 1 | #ERASE ALL THIS AND PUT XAML BELOW between the @" "@ | |
| 2 | $inputXML = @" | |
| 3 | <Window x:Class="WpfApp1.MainWindow" | |
| 4 | xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" | |
| 5 | xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" | |
| 6 | xmlns:d="http://schemas.microsoft.com/expression/blend/2008" | |
| 7 | xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" | |
| 8 | xmlns:local="clr-namespace:WpfApp1" | |
| 9 | mc:Ignorable="d" | |
| 10 | Title="Onboarding Tool" Height="762.272" Width="525"> | |
| 11 | <Grid> | |
| 12 | - | <Image HorizontalAlignment="Left" Height="96" Margin="211,10,0,0" VerticalAlignment="Top" Width="96" Source="C:\Users\lbair\My SecuriSync\IT Department\_Staff Boom\Branding\StaffBoomLogo_96x96.jpg"/> |
| 12 | + | <Image Name="Image01" HorizontalAlignment="Left" Height="96" Margin="211,10,0,0" VerticalAlignment="Top" Width="96" Source="C:\Users\lbair\My SecuriSync\IT Department\_Staff Boom\Branding\StaffBoomLogo_96x96.jpg"/> |
| 13 | - | <TextBlock HorizontalAlignment="Left" Height="17" Margin="159,106,0,0" TextWrapping="Wrap" Text="StaffBoom Onboarding Tool" VerticalAlignment="Top" Width="202" TextAlignment="Center" FontFamily="Comic Sans MS" RenderTransformOrigin="-0.74,2.361"/> |
| 13 | + | <TextBlock Name="Text01" HorizontalAlignment="Left" Height="17" Margin="159,106,0,0" TextWrapping="Wrap" Text="StaffBoom Onboarding Tool" VerticalAlignment="Top" Width="202" TextAlignment="Center" FontFamily="Comic Sans MS" RenderTransformOrigin="-0.74,2.361"/> |
| 14 | - | <Button Content="OK" HorizontalAlignment="Left" Height="22" Margin="425,561,0,0" VerticalAlignment="Top" Width="63"/> |
| 14 | + | <Button Name="OKButton" Content="OK" HorizontalAlignment="Left" Height="22" Margin="425,561,0,0" VerticalAlignment="Top" Width="63"/> |
| 15 | - | <TextBox HorizontalAlignment="Left" Height="23" Margin="99,142,0,0" TextWrapping="Wrap" Text="bacon" VerticalAlignment="Top" Width="96"/> |
| 15 | + | <TextBox Name="Text02" HorizontalAlignment="Left" Height="23" Margin="99,142,0,0" TextWrapping="Wrap" Text="bacon" VerticalAlignment="Top" Width="96"/> |
| 16 | - | <Label Content="User Name" HorizontalAlignment="Left" Height="23" Margin="16,142,0,0" VerticalAlignment="Top" Width="78" RenderTransformOrigin="-0.036,0.554"/> |
| 16 | + | <Label Name="label01" Content="User Name" HorizontalAlignment="Left" Height="23" Margin="16,142,0,0" VerticalAlignment="Top" Width="78" RenderTransformOrigin="-0.036,0.554"/> |
| 17 | ||
| 18 | </Grid> | |
| 19 | </Window> | |
| 20 | "@ | |
| 21 | ||
| 22 | $inputXML = $inputXML -replace 'mc:Ignorable="d"','' -replace "x:N",'N' -replace '^<Win.*', '<Window' | |
| 23 | ||
| 24 | [void][System.Reflection.Assembly]::LoadWithPartialName('presentationframework')
| |
| 25 | [xml]$XAML = $inputXML | |
| 26 | #Read XAML | |
| 27 | ||
| 28 | $reader=(New-Object System.Xml.XmlNodeReader $xaml) | |
| 29 | try{$Form=[Windows.Markup.XamlReader]::Load( $reader )}
| |
| 30 | catch{Write-Host "Unable to load Windows.Markup.XamlReader. Double-check syntax and ensure .net is installed."}
| |
| 31 | ||
| 32 | #=========================================================================== | |
| 33 | # Load XAML Objects In PowerShell | |
| 34 | #=========================================================================== | |
| 35 | ||
| 36 | $xaml.SelectNodes("//*[@Name]") | %{Set-Variable -Name "WPF$($_.Name)" -Value $Form.FindName($_.Name)}
| |
| 37 | ||
| 38 | Function Get-FormVariables{
| |
| 39 | if ($global:ReadmeDisplay -ne $true){Write-host "If you need to reference this display again, run Get-FormVariables" -ForegroundColor Yellow;$global:ReadmeDisplay=$true}
| |
| 40 | write-host "Found the following interactable elements from our form" -ForegroundColor Cyan | |
| 41 | get-variable WPF* | |
| 42 | } | |
| 43 | ||
| 44 | Get-FormVariables | |
| 45 | ||
| 46 | #=========================================================================== | |
| 47 | # Actually make the objects work | |
| 48 | #=========================================================================== | |
| 49 | ||
| 50 | #Sample entry of how to add data to a field | |
| 51 | ||
| 52 | #$vmpicklistView.items.Add([pscustomobject]@{'VMName'=($_).Name;Status=$_.Status;Other="Yes"})
| |
| 53 | ||
| 54 | #=========================================================================== | |
| 55 | # Shows the form | |
| 56 | #=========================================================================== | |
| 57 | write-host "To show the form, run the following" -ForegroundColor Cyan | |
| 58 | '$Form.ShowDialog() | out-null' |