View difference between Paste ID: iNadHkny and ryxqm8W6
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&#xD;&#xA;" 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&#xD;&#xA;" 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