Seiten

Sonntag, 26. September 2010

Rich Text zu Xml zu RichTextBox.Xaml mit dem "RichTextBox.Xaml Builder" Tool

Der RichTextBox.Xaml Builder ist ein kleines kostenloses Programm das ich entwickelt habe, mit dem man Rich Text, z.B. aus einer Word Datei, in Xml konvertieren kann. Das besondere ist, dass bei der Konvertierung zu Xml eine Xml-Dokumentstruktur erstellt wird, die mit Xaml kompatibel ist. Die resultierende Xml-Datei kann also benutzt werden, um sie in ein Silverlight 4 Projekt einzubinden und den Text in einer regulären Silverlight 4 RichTextBox oder in meinem RichXamlViewer, einem Silverlight 4 UserControl, darzustellen.


Screenshot des RichTextBox.Xaml Builder

Hier ein lebendiges Beispiel für den RichXamlViewer, in der als Quelle für den dargestellten Text eine .xml-Datei verwendet wird, die mit dem RichTextBox.Xaml Builder erstellt wurde.


Das RichXamlViewer UserControl basiert auf einer regulären Silverlight 4 RichTextBox, hat aber ein paar nützliche Zusatzfeatures. Der Text kann über das ZoomPad oben rechts zur Laufzeit vergrößert oder verkleinert werden. Die Textgrößenveränderung erfolgt animiert, weil die entsprechende Eigenschaft "TextFontSize" als DependencyProperty implementiert ist. Außerdem kann der Text über ein integriertes Kontextmenü ganz oder in Teilen in die Zwischenablage kopiert werden (das allerdings nicht im Rich Text Format). Der größte Vorteil des RichXamlViewer UserControl ist, dass es im Zusammenspiel mit Expression Blend 4 ein echtes Null-Code-Control ist. Einfach Drag & Drop auf die Oberfläche zur Entwurfszeit, den .xml-Dateinamen der mit dem RichTextBox.Xaml Builder Tool erstellten .xml-Datei in die "XamlSource"-Eigenschaft des UserControls eintragen und fertig.

Der Vorteil, den Text, der in einer Silverlight 4 RichTextBox dargestellt werden soll, in einer .xml-Datei abzulegen, anstatt ihn direkt in die RichTextBox einzugeben, besteht darin, dass der Text nicht mehr in der Xaml-Ansicht sichtbar ist. Außerdem kann über den Code Behind der darzustellende Text zur Laufzeit über eine einzige Zeile Code ausgewechselt werden. Man weist der RichTextBox.Xaml Eigenschaft einfach eine andere .xml-Datei zu. Einfacher geht es kaum.

Alle Infos dazu, wie das geht, zur Anwendung des RichTextBox.Xaml Builder und der Verwendung einer mit diesem Tool erzeugten .xml-Datei mit einer regulären Silverlight 4 RichTextBox oder mit dem Silverlight 4 RichXamlViewer UserControl gibt es in diesem Demo-Video:


Rich Text zu Xml zu Xaml from LawBot on Vimeo.

Den Download für den RichTextBox.Xaml Builder gibt es in der Visual Studio Gallery. Alternativ könnt Ihr den RichTextBox.Xaml Builder auch als Click-Once-Anwendung installieren, um stets die neueste Version zu erhalten.

Der RichXamlViewer kann in der Expression Gallery heruntergeladen werden.

Viel Spaß damit.

Keine Kommentare:

Kommentar veröffentlichen