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-Key: 245298

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

Printed on: April 19, 2024 at 13:04 o'clock

Member: colinardo
colinardo Aug 01, 2014 updated at 09:35:47 (UTC)
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
Member: Scroller
Scroller Aug 04, 2014 at 05:17:55 (UTC)
Goto Top
Hallo Uwe,

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

SC