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" |
| 3 | + | <Window x:Class="WpfApplication2.MainWindow" |
| 4 | - | xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" |
| 4 | + | xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" |
| 5 | - | xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" |
| 5 | + | xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" |
| 6 | - | xmlns:d="http://schemas.microsoft.com/expression/blend/2008" |
| 6 | + | xmlns:d="http://schemas.microsoft.com/expression/blend/2008" |
| 7 | - | xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" |
| 7 | + | xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" |
| 8 | - | xmlns:local="clr-namespace:WpfApp1" |
| 8 | + | xmlns:local="clr-namespace:WpfApplication2" |
| 9 | - | mc:Ignorable="d" |
| 9 | + | mc:Ignorable="d" |
| 10 | Title="AMP Deployer" Height="558.437" Width="525"> | |
| 11 | <Grid> | |
| 12 | <GroupBox x:Name="groupBox2" Header="Email Addresses" Height="100" Margin="11,341,0,0" VerticalAlignment="Top" HorizontalAlignment="Left" Width="490" Foreground="#FFC2C3C9"/> | |
| 13 | <GroupBox x:Name="groupBox1" Header="Details" Height="129" Margin="11,100,0,0" VerticalAlignment="Top" HorizontalAlignment="Left" Width="490" Foreground="#FFC2C3C9"/> | |
| 14 | ||
| 15 | <GroupBox x:Name="groupBox" Header="SIP Domains" Height="100" Margin="11,235,0,0" VerticalAlignment="Top" HorizontalAlignment="Left" Width="490" Foreground="#FFC2C3C9"/> | |
| 16 | ||
| 17 | <Image x:Name="image" HorizontalAlignment="Left" Height="49" Margin="0,10,-0.333,0" VerticalAlignment="Top" Width="519" Source="C:\Users\User\Pictures\Logo\Logo.png"/> | |
| 18 | - | <TextBox x:Name="textBoxCustomerName" HorizontalAlignment="Left" Height="23" Margin="128,122,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="348" TextChanged="textBox_TextChanged" ToolTip="Enter the customer name"/> |
| 18 | + | <TextBox x:Name="textBoxCustomerName" HorizontalAlignment="Left" Height="23" Margin="128,122,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="348" ToolTip="Enter the customer name"/> |
| 19 | <Button x:Name="btnCancel" Content="Cancel" HorizontalAlignment="Left" Margin="419,466,0,0" VerticalAlignment="Top" Width="75" ToolTip="Cancel the deployment"/> | |
| 20 | - | <Button x:Name="btnDeploy" Content="Deploy" HorizontalAlignment="Left" Margin="329,466,0,0" VerticalAlignment="Top" Width="75" Click="button_Copy_Click" ToolTip="Start the deployment"/> |
| 20 | + | <Button x:Name="btnDeploy" Content="Deploy" HorizontalAlignment="Left" Margin="329,466,0,0" VerticalAlignment="Top" Width="75" ToolTip="Start the deployment"/> |
| 21 | <Label x:Name="label" Content="Customer Name" HorizontalAlignment="Left" Margin="-1,122,0,0" VerticalAlignment="Top" Height="23" Width="117" FlowDirection="RightToLeft"/> | |
| 22 | <TextBlock x:Name="textBlock" HorizontalAlignment="Left" Margin="10,64,0,0" TextWrapping="Wrap" Text="Welcome to AMP Deployer. Use this tool to deploy a new environment on a vmware datacenter. Just answer the questions below and press Deploy." VerticalAlignment="Top" Height="36" Width="499"/> | |
| 23 | - | <TextBox x:Name="textBox1" HorizontalAlignment="Left" Height="23" Margin="127.667,155.792,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="46" TextChanged="textBox_TextChanged" UseLayoutRounding="False" MaxLength="3" ToolTip="Example: uc025"/> |
| 23 | + | <TextBox x:Name="textBox1" HorizontalAlignment="Left" Height="23" Margin="127.667,155.792,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="46" UseLayoutRounding="False" MaxLength="3" ToolTip="Example: uc025"/> |
| 24 | <Label x:Name="label1" Content="Environment Nr" HorizontalAlignment="Left" Margin="23,154,0,0" VerticalAlignment="Top" Height="23" Width="93" FlowDirection="RightToLeft"/> | |
| 25 | <Label x:Name="label2" Content="Type" HorizontalAlignment="Left" Margin="317,190,0,0" VerticalAlignment="Top" FlowDirection="RightToLeft"/> | |
| 26 | - | <RadioButton x:Name="radioButton" Content="L" HorizontalAlignment="Left" Margin="361,197,0,0" VerticalAlignment="Top" Checked="radioButton_Checked" ToolTip="Single Server deployment"/> |
| 26 | + | <RadioButton x:Name="radioButton" Content="L" HorizontalAlignment="Left" Margin="361,197,0,0" VerticalAlignment="Top" ToolTip="Single Server deployment"/> |
| 27 | - | <RadioButton x:Name="radioButton1" Content="XL" HorizontalAlignment="Left" Margin="398,197,0,0" VerticalAlignment="Top" Checked="radioButton_Checked" ToolTip="High Available deployment"/> |
| 27 | + | <RadioButton x:Name="radioButton1" Content="XL" HorizontalAlignment="Left" Margin="398,197,0,0" VerticalAlignment="Top" ToolTip="High Available deployment"/> |
| 28 | - | <RadioButton x:Name="radioButton2" Content="XXL
" HorizontalAlignment="Left" Margin="435,197,0,0" VerticalAlignment="Top" Checked="radioButton_Checked" IsEnabled="False" Height="15" ToolTip="Geo Redundant deployment"/> |
| 28 | + | <RadioButton x:Name="radioButton2" Content="XXL
" HorizontalAlignment="Left" Margin="435,197,0,0" VerticalAlignment="Top" IsEnabled="False" Height="15" ToolTip="Geo Redundant deployment"/> |
| 29 | <Label x:Name="label3" Content="Anywhere365" HorizontalAlignment="Left" Margin="34,190,0,0" VerticalAlignment="Top" FlowDirection="RightToLeft"/> | |
| 30 | - | <ComboBox x:Name="comboBox" HorizontalAlignment="Left" Margin="128,192,0,0" VerticalAlignment="Top" Width="120" SelectionChanged="comboBox_SelectionChanged"> |
| 30 | + | <ComboBox x:Name="comboBox" HorizontalAlignment="Left" Margin="128,192,0,0" VerticalAlignment="Top" Width="120" > |
| 31 | <ComboBoxItem Content="No" HorizontalAlignment="Left" Width="118"/> | |
| 32 | <ComboBoxItem Content="Yes, Single Server" HorizontalAlignment="Left" Width="118"/> | |
| 33 | <ComboBoxItem Content="Yes, High Available" HorizontalAlignment="Left" Width="118"/> | |
| 34 | </ComboBox> | |
| 35 | - | <TextBox x:Name="textBox_Copy" HorizontalAlignment="Left" Height="23" Margin="128,258,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="348" TextChanged="textBox_TextChanged" ToolTip="Primary SIP Domain"/> |
| 35 | + | <TextBox x:Name="textBox_Copy" HorizontalAlignment="Left" Height="23" Margin="128,258,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="348" ToolTip="Primary SIP Domain"/> |
| 36 | <Label x:Name="label_Copy" Content="Primary" HorizontalAlignment="Left" Margin="-1,258,0,0" VerticalAlignment="Top" Height="23" Width="117" FlowDirection="RightToLeft"/> | |
| 37 | - | <TextBox x:Name="textBox_Copy1" HorizontalAlignment="Left" Height="23" Margin="128,295,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="348" TextChanged="textBox_TextChanged" ToolTip="Additional SIP Domains (comma seperated)"/> |
| 37 | + | <TextBox x:Name="textBox_Copy1" HorizontalAlignment="Left" Height="23" Margin="128,295,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="348" ToolTip="Additional SIP Domains (comma seperated)"/> |
| 38 | <Label x:Name="label_Copy1" Content="Additional" HorizontalAlignment="Left" Margin="-1,295,0,0" VerticalAlignment="Top" Height="23" Width="117" FlowDirection="RightToLeft"/> | |
| 39 | - | <TextBox x:Name="textBox_Copy2" HorizontalAlignment="Left" Height="23" Margin="128,364,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="348" TextChanged="textBox_TextChanged" ToolTip="Email address of the Technical Consultant"/> |
| 39 | + | <TextBox x:Name="textBox_Copy2" HorizontalAlignment="Left" Height="23" Margin="128,364,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="348" ToolTip="Email address of the Technical Consultant"/> |
| 40 | <Label x:Name="label_Copy2" Content="Tech. Consultant" HorizontalAlignment="Left" Margin="-1,364,0,0" VerticalAlignment="Top" Height="23" Width="117" FlowDirection="RightToLeft"/> | |
| 41 | - | <TextBox x:Name="textBox_Copy3" HorizontalAlignment="Left" Height="23" Margin="128,400,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="348" TextChanged="textBox_TextChanged" ToolTip="Email address of the project manager"/> |
| 41 | + | <TextBox x:Name="textBox_Copy3" HorizontalAlignment="Left" Height="23" Margin="128,400,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="348" ToolTip="Email address of the project manager"/> |
| 42 | <Label x:Name="label_Copy3" Content="Project Manager" HorizontalAlignment="Left" Margin="-1,401,0,0" VerticalAlignment="Top" Height="23" Width="117" FlowDirection="RightToLeft"/> | |
| 43 | <StatusBar HorizontalAlignment="Left" Height="31" Margin="0,498,-0.333,0" VerticalAlignment="Top" Width="519" ToolTip="Status information is displayed here"/> | |
| 44 | </Grid> | |
| 45 | </Window> | |
| 46 | "@ | |
| 47 | ||
| 48 | $inputXML = $inputXML -replace 'mc:Ignorable="d"','' -replace "x:N",'N' -replace '^<Win.*', '<Window' | |
| 49 | ||
| 50 | [void][System.Reflection.Assembly]::LoadWithPartialName('presentationframework')
| |
| 51 | [xml]$XAML = $inputXML | |
| 52 | #Read XAML | |
| 53 | ||
| 54 | $reader=(New-Object System.Xml.XmlNodeReader $xaml) | |
| 55 | try{$Form=[Windows.Markup.XamlReader]::Load( $reader )}
| |
| 56 | - | catch{Write-Host "Unable to load Windows.Markup.XamlReader. Double-check syntax and ensure .net is installed."}
|
| 56 | + | catch{
|
| 57 | $error[0] | |
| 58 | Write-Host "Unable to load Windows.Markup.XamlReader. Double-check syntax and ensure .net is installed." | |
| 59 | break | |
| 60 | } | |
| 61 | ||
| 62 | #=========================================================================== | |
| 63 | # Load XAML Objects In PowerShell | |
| 64 | #=========================================================================== | |
| 65 | ||
| 66 | $xaml.SelectNodes("//*[@Name]") | %{Set-Variable -Name "WPF$($_.Name)" -Value $Form.FindName($_.Name)}
| |
| 67 | ||
| 68 | Function Get-FormVariables{
| |
| 69 | if ($global:ReadmeDisplay -ne $true){Write-host "If you need to reference this display again, run Get-FormVariables" -ForegroundColor Yellow;$global:ReadmeDisplay=$true}
| |
| 70 | write-host "Found the following interactable elements from our form" -ForegroundColor Cyan | |
| 71 | get-variable WPF* | |
| 72 | } | |
| 73 | ||
| 74 | Get-FormVariables | |
| 75 | ||
| 76 | #=========================================================================== | |
| 77 | # Actually make the objects work | |
| 78 | #=========================================================================== | |
| 79 | ||
| 80 | #Sample entry of how to add data to a field | |
| 81 | ||
| 82 | #$vmpicklistView.items.Add([pscustomobject]@{'VMName'=($_).Name;Status=$_.Status;Other="Yes"})
| |
| 83 | ||
| 84 | - | '$Form.ShowDialog() | out-null' |
| 84 | + | |
| 85 | # Shows the form | |
| 86 | #=========================================================================== | |
| 87 | write-host "To show the form, run the following" -ForegroundColor Cyan | |
| 88 | $Form.ShowDialog() | out-null |