Seiten

Freitag, 12. November 2010

RichTextBox.Xaml Builder Add-In Version 1.0.0.3 für Expression Blend 4 - Neu mit automatischer Schriftgrößenerkennung

Eine neue Version des RichTextBox.Xaml Builder Add-In für Expression Blend 4 steht zum Download in der Expression Gallery bereit. Dies ist Version 1.0.0.3.

Die neue Version bietet eine automatische Schriftgrößenerkennung bei der Konvertierung von Rich Text für die Darstellung in einer Silverlight 4-Anwendung.


Visuell: Vom MS Word Dokument zur Darstellung in der Silverlight 4 RichTextBox

Die unten dargestellten Screenshots verdeutlichen die Konvertierung visuell vom Ursprung bis zum Ergebnis. Also vom ursprünglichen Inhalt eines Microsoft Word Dokuments, über die Konvertierungsansicht im Add-In in Expression Blend 4 bis zum Ergebnis in einer Silverlight 4-Anwendung:


Screenshot von dem ursprünglichen Microsoft Word Document



Screenshot des Ergebnisses der Konvertierung im Add-In

Und so sieht das Ergebnis in einer Silverlight 4-Anwendung aus:



Warum sollte man das Add-In verwenden?

Das Add-In liefert im Ergebnis der Konvertierung eine .xml-Datei mit den Text- und Formatinformationen des konvertierten Textes. Dabei hat die .xml-Datei ein Format, das von der Xaml-Eigenschaft einer regulären Silverlight 4 RichTextBox als Xaml verstanden wird. Um den in der .xml-Datei enthaltenen Text einer RichTextBox zuzuweisen braucht man nur eine einzige Zeile Quellcode:

rbDemo.Xaml = XElement.Load("richsource.xml").ToString(SaveOptions.DisableFormatting)

Eine Zuweisung des Inhalts für eine RichTextBox über die Xaml-Eigenschaft des Steuerelements bietet den Vorteil, dass der Text einer einzelnen RichTextBox zur Laufzeit dynamisch verändert werden kann. Der Vorteil einer Zuweisung mithilfe einer .xml-Datei besteht darin, dass der Text nicht erst umständlich im Quellcode erzeugt werden muss. Der Programmierungsaufwand ist dadurch extrem reduziert.

Der Workflow in einer Line Of Business-Anwendung

Mit dem RichTextBox.Xaml Builder Add-In ist der Workflow für die Konvertierung von existierendem Rich Text, beispielsweise aus einem Word Dokument, zur Darstellung in einer Silverlight 4 RichTextBox extrem schlank.

Beispielhaft sei folgendes Szenario angenommen: Es soll eine Line Of Business-Anwendung in Silverlight 4 realisiert werden. Bestandteil der Anwendung sollen u.a. 50 unterschiedliche Textinhalte sein, die alle in RichTextBox-Steuerelementen dargestellt werden sollen. Die Textinhalte liegen bereits als Microsoft Word Dokumente vor. Jedes Word Dokument ist konvertiert mit unterschiedlichen Schriftgrößen, Schriftschnitten, Schriftfarben etc. Und jedes Word Dokument hat mindestens 10000 Zeichen.

Mit dem Add-In wird jedes Word Dokument in eine .xml-Datei umgewandelt. Dabei reduziert sich die Konvertierung auf den folgenden Ablauf:

1. Word Dokument öffnen und den Text mit Strg+A, Strg+C in die Zwischenablage kopieren.

2. Wechseln zu Expression Blend 4 und im Add-In auf „Convert“ klicken.

3. Dann auf „Save“ klicken und die Datei lokal in einem Ordner speichern.

Diesen Vorgang für alle Word Dokumente wiederholen.

4. Wechseln zu Visual Studio 2010 und im Silverlight-Projekt einen neuen Ordner „documents“ einrichten. Dann mit Rechtklick auf den Ordner -> Hinzufügen -> Vorhandenes Element hinzufügen zum lokalen Ordner mit den .xml-Dateien navigieren. Strg+A, um alle .xml-Dateien zu selektieren und hinzufügen.

5. In Visual Studio 2010 im Projekt-Explorer den Ordner „documents“ öffnen und alle vorhandenen .xml-Dateien markieren.

6. Um die Dateien beispielsweise vollständig in die .xap-Datei aufzunehmen wählt man als build-Vorgang für alle markierten .xml-Dateien „Kopieren wenn neuer“.

Fertig. Alle Word Dokumente liegen nun in Gestalt der .xml-Dateien mit den Formatinformationen vor und können der Xaml-Eigenschaft einer RichTextBox mit minimalem Programmieraufwand dynamisch zugewiesen werden.

Das ist richtig cool.

Den Download der Version 1.0.0.3 gibt in der Expression Gallery.


Viel Spass mit der neuen Version.

1 Kommentar:

  1. Danke! Ich muss viele texte für meine neue windows 8 app schreiben und diese extension ist sehr praktisch!

    AntwortenLöschen