21.9 Das Element »FlowDocumentViewer«
Nachdem Sie nun wissen, wie ein FlowDocument definiert wird, ist es an der Zeit, sich mit den Komponenten zu befassen, die ein FlowDocument anzeigen können. Die WPF sieht dazu drei Steuerelemente vor, die sich in den Anzeigemöglichkeiten unterscheiden. Dass mit einer gesteigerten Anzeigeanforderung auch der Ressourcenverbrauch steigt, ist selbstredend.
21.9.1 Das Anzeigeelement »FlowDocumentScrollViewer«
Dieses Element hat den geringsten Ressourcenverbrauch. Das Steuerelement zeigt den Fließtext fortlaufend an. Kann das Dokument inhaltlich nicht komplett angezeigt werden, wird ein vertikaler Schiebebalken angezeigt. Der Text wird immer einspaltig angezeigt, dessen Breite ergibt sich aus der Breite des Steuerelements.
Abbildung 21.41 Das Element »FlowDocumentScrollViewer«
Sie finden auf der Buch-DVD die entsprechenden Beispiele zu den drei in diesem Abschnitt besprochenen Viewern, die sich auch in den Abbildungen wiederfinden. Auf die Wiedergabe des Programmcodes habe ich an dieser Stelle bewusst verzichtet, da es nicht auf den XAML-Code, sondern vielmehr auf die Darstellungsform eines größeren Dokuments zur Laufzeit ankommt.
21.9.2 Das Anzeigeelement »FlowDocumentPageViewer«
In diesem Viewer wird das Dokument seitenweise angezeigt. Anstelle des Rollbalkens wird ein Pfeilbutton zum Blättern von einer Seite zur anderen angezeigt. Darüber hinaus ist es möglich, das Dokument zu zoomen.
Im Beispiel FlowDocumentPageViewer wird das gleiche Dokument angezeigt wie im Beispiel FlowDocumentScrollViewer im Abschnitt zuvor. Wenn Sie dieses Beispiel testen und zur Laufzeit die Breite des Window vergrößern, werden Sie feststellen, dass der Text automatisch auf zwei oder auch noch mehr Spalten aufgeteilt wird, um zu lange Zeilen zu vermeiden. Für dieses Verhalten sind drei Eigenschaften des FlowDocument-Elements verantwortlich: ColumnWidth, ColumnGap und IsColumnWidthFlexible. Die Eigenschaft ColumnWidth legt die Spaltenbreite fest. Per Vorgabe ist Auto eingestellt, mit der die Spaltenbreite automatisch auf das Zwanzigfache der aktuellen FontSize-Einstellung festgelegt wird. ColumnGap legt den Wert für den Spaltenabstand fest. Auch dieser Wert ist per Vorgabe Auto, was der aktuellen Einstellung der Eigenschaft LineHeight entspricht. ColumnWidthFlexible schließlich gibt an, ob die Eigenschaft ColumnWidth fix oder flexibel festgelegt ist. Der Standardwert dieser Eigenschaft ist true.
Abbildung 21.42 Das Element »FlowDocumentPageViewer«
21.9.3 Das Anzeigeelement »FlowDocumentReader«
Mit dem FlowDocumentReader können Sie zwischen drei Darstellungsformen umschalten. Es bieten sich hier die beiden Ansichten an, die von den Elementen FlowDocumentScrollViewer und FlowDocumentPageViewer angeboten werden, und darüber hinaus eine Zwei-Seiten-Ansicht, die zwei Seiten nebeneinander zeigt. Eine weitere Besonderheit hat dieses Anzeigeelement noch mit der zusätzlich angebotenen Suchfunktion zu bieten.
Abbildung 21.43 Das Element »FlowDocumentReader«
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.