none
XAML Code in Powershell RRS feed

  • Frage

  • 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?

    Dienstag, 14. Mai 2019 15:17

Antworten

  • Kann mir Jemand sagen, was bei meinem Script falsch ist?

    Ja, ein Schreib- und ein Logik-Fehler:

    • in Zeile 3 fehlt das schließende >
    • Click="Button_Click" werden so nicht funktionieren. Du musst die entfernen und die Events anschließend hinzufügen.


    Evgenij Smirnov

    http://evgenij.smirnov.de

    • Als Antwort markiert MoeME Mittwoch, 15. Mai 2019 14:44
    Dienstag, 14. Mai 2019 17:00