## 19.7 Das Element »FlowDocumentViewer« Nachdem Sie nun wissen, wie ein FlowDocument definiert wird, ist es an der Zeit, sich mit den Steuerelementen zu befassen, die ein FlowDocument anzeigen können. Die WPF sieht dazu drei Steuerelemente vor, die sich in ihren Anzeigemöglichkeiten unterscheiden. Dass mit gesteigerten Anforderungen an die Anzeige auch der Ressourcenverbrauch steigt, versteht sich von selbst. ### 19.7.1 Das Anzeigeelement »FlowDocumentScrollViewer« Dieses Element hat den geringsten Ressourcenverbrauch. Dieses Steuerelement zeigt den Fließtext fortlaufend an. Sollte das Dokument inhaltlich nicht komplett angezeigt werden können, wird ein vertikaler Schiebebalken angezeigt. Der Text wird immer einspaltig angezeigt, dessen Breite ergibt sich aus der Breite des Steuerelements. Hier klicken, um das Bild zu vergrößern Abbildung 19.17 Das Element »FlowDocumentScrollViewer«
Hinweis
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 wieder an dieser Stelle bewusst verzichtet, da es nicht auf das Coding, sondern vielmehr auf die Darstellungsform eines größeren Dokuments zur Laufzeit ankommt.
### 19.7.2 Das Anzeigeelement »FlowDocumentPageViewer« In diesem Viewer wird das Dokument seitenweise angezeigt. Anstelle des Scrollbalkens 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 FlowDocuments-Element 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. Hier klicken, um das Bild zu vergrößern Abbildung 19.18 Das Element »FlowDocumentPageViewer« ### 19.7.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. Hier klicken, um das Bild zu vergrößern