scroller
Goto Top

WPF Oberflächen mit Powershell

Hallo,

ich möchte mit Powershell Scripts mit WPF Oberfläche verwenden
Habe im WWW auch entsprechende Anleitungen gefunden wie man das mit Visualstudio Express
machen kann.

Leider finde ich keine detailiertere Anleitung wie die Sytax der einzigen GUI Elemente
in Powershell ist.

Im Moment hänge ich z.b. an der Zuweisung eines Textes zu einer Richtextbox.

Kann mir jemand sagen obs zur Benutzung von WPF in Powershell Doku gibt?


Danke!
SC

Content-ID: 245298

Url: https://administrator.de/contentid/245298

Ausgedruckt am: 22.11.2024 um 10:11 Uhr

colinardo
colinardo 01.08.2014 aktualisiert um 11:35:47 Uhr
Goto Top
Moin,
alles was du brauchst steht hier:
http://msdn.microsoft.com/en-us/library/ms754130(v=vs.110).aspx

Eine Einführung wie man Steuerelemente unter WPF anspricht kannst du in dieser Tutorial-Serie nachlesen:
http://learn-powershell.net/2012/11/09/powershell-and-wpf-textbox/

Es gibt keine spezielle Doku von WPF für Powershell. Du brauchst nur die WPF Referenz, das ist alles! Dort sind alle Eigenschaften,Methoden und Events der einzelnen Steuerelemente dokumentiert.

Hier z.B. für das Richtextbox Steuerelement:
http://msdn.microsoft.com/en-us/library/system.windows.controls.richtex ...
Dieses hat die Eigenschaft "Document" der man mit einem FlowDocument Objekt Text hinzufügen kann:
http://stackoverflow.com/questions/957441/richtextbox-wpf-does-not-have ...

back-to-topBeispiel um einer Richtextbox Text hinzuzufügen:
[string]$xaml = @"  
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Name="Window" Title="Mein Fenster" WindowStartupLocation = "CenterScreen" ResizeMode="NoResize" SizeToContent = "WidthAndHeight" ShowInTaskbar = "True" Background = "lightgray">  
    <StackPanel>
        <RichTextBox x:Name="myRichTextBox" Height="100" Width="200" />  
    </StackPanel>
</Window>
"@  
# Markup laden 
$window=[Windows.Markup.XamlReader]::Parse($xaml)

# RichTextBox referenzieren
$rtbox = $window.FindName('myRichTextBox')  

# Vorhandenen Content aus der RichTextBox entfernen
$rtbox.Document.Blocks.Clear()

# neuen Textabsatz erstellen und formatieren
$text = new-object System.Windows.Documents.Paragraph

# Text zuweisen
$text.AddText("Ich bin der Text")  

# formatieren
$text.FontSize = "15"  
$text.FontWeight ="Bold"  
# bei Bedarf den Absatzabstand entfernen
$text.Margin = [System.Windows.Thickness]0.0

# Absatz der Richtext hinzufügen
$rtbox.Document.Blocks.Add($text)

# Fenster anzeigen
$window.ShowDialog() | Out-Null

Grüße Uwe
Scroller
Scroller 04.08.2014 um 07:17:55 Uhr
Goto Top
Hallo Uwe,

danke für Dein posting.
Du hast mich sehr weitergebracht !

SC