Hallo Zusammen,
Ich möchte eine GUI in Powershell verwenden, welche ich mit Visual Studio erstellt habe
Hier ist mein derzeitiges Script, in dem der XAML code von Visual Studio als xml eingelesen werden soll:
[xml]$XAML = @"
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
<Grid Margin="0,0,2,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0*"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Label Name="Enter_Hostname_Label" Content="Enter Hostname:" HorizontalAlignment="Left" Height="26" Margin="9,19,0,0" VerticalAlignment="Top" Width="98" Grid.Column="1"/>
<TextBox Name="Textbox" HorizontalAlignment="Left" Height="21" Margin="15,43,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="119" Grid.Column="1"/>
<Label Name="Available_Hostnames_Label" Content="Available Hostnames:" HorizontalAlignment="Left" Height="26" Margin="11,83,0,0" VerticalAlignment="Top" Width="125" Grid.Column="1"/>
<ListBox Name="Listbox" Grid.ColumnSpan="2" HorizontalAlignment="Left" Height="141" Margin="15,108,0,0" VerticalAlignment="Top" Width="119"/>
<Button Name="Continue_Button" Grid.ColumnSpan="2" Content="Continue" HorizontalAlignment="Left" Height="21" Margin="143,108,0,0" VerticalAlignment="Top" Width="84" Click="Button_Click"/>
<Button Name="Search_Button" Grid.ColumnSpan="2" Content="Search" HorizontalAlignment="Left" Height="21" Margin="143,43,0,0" VerticalAlignment="Top" Width="84" Click="Button_Click"/>
</Grid>
</Window>
"@
[void][System.Reflection.Assembly]::LoadWithPartialName('presentationframework')
try{
$Form=[Windows.Markup.XamlReader]::Load( (New-Object System.Xml.XmlNodeReader $XAML) )
} catch {
Write-Host "Windows.Markup.XamlReader konnte nicht geladen werden. Mögliche Ursache: ungültige Syntax oder fehlendes .net"
}
$Form.ShowDialog()
Allerdings bekomme ich immer die Fehlermeldung 'Der Wert kann nicht in den Typ "System.Xml.XmlDocument" konvertiert werden. Fehler: "Ein Name darf nicht mit dem Zeichen '<', hexadezimaler Wert 0x3C beginnen'
Das kann ich aber nicht großartig abändern, da der Code nunmal so aussieht..
Ich habe bereits sämtliche Artikel etc. dazu im Internet durchgelesen aber anscheinend funktioniert das bei Jedem problemlos
Kann mir Jemand sagen, was bei meinem Script falsch ist?