TOC

This article is currently in the process of being translated into Italian (~99% done).

Rich Text controlli:

The FlowDocumentReader control

Il FlowDocumentReader è il più avanzato wrapper read-only che si possa metetre all'interno di FlowDocument. Offre bottoni che permettono l'utente finale l'alternanza tra possibili modi di visualizzazione FlowDocumentScrollViewer e FlowDocumentPageViewer cosi come ricerche e possibilità di zoom.

Tutte queste funzionalità rendono anche il controllo FlowDocumentReader il più pesante tra i tre wrappers, ma questo non dovrebbe essere un problema per la maggior parte dei documenti con dimensioni regolari. Di seguito un esempio di come un FlowDocumentReader potrebbe apparire:

Questa screenshot mostra l'impostazione predefinita. È possibile alternare tra le modalità di visualizzazione utilizzando i pulsanti a sinistra dei controlli di zoom. Nella parte sinistra della barra degli strumenti, ci sono i controlli per la ricerca nel documento.

Ecco il codice che vi darà il risultato visto sopra:

<Window x:Class="WpfTutorialSamples.Rich_text_controls.FlowDocumentReaderSample"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="FlowDocumentReaderSample" Height="250" Width="550">
    <Grid>
        <FlowDocumentReader>
            <FlowDocument>
                <Paragraph>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce faucibus odio arcu, luctus vestibulum tortor congue in. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce nec lacinia neque. Donec malesuada, ligula non vestibulum cursus, urna purus pellentesque orci, aliquet accumsan dui velit ac justo. Phasellus sagittis ligula in leo dapibus, vel vestibulum felis mattis. Fusce vitae auctor nibh. Ut sit amet fringilla turpis. Aenean tincidunt feugiat sapien, quis scelerisque enim pretium commodo. Mauris fermentum posuere nulla, vitae fermentum quam malesuada in. Cras ultrices bibendum nulla eu mollis. Sed accumsan pretium magna, non sodales velit viverra id. Sed eu elit sit amet sem ullamcorper rhoncus.</Paragraph>
                <Paragraph>Nulla vitae suscipit tellus. Nunc sit amet tortor fermentum, sollicitudin enim cursus, sagittis lacus. Pellentesque tincidunt massa nisl, nec tempor nulla consequat a. Proin pharetra neque vel dolor congue, at condimentum arcu varius. Sed vel luctus enim. Curabitur eleifend dui et arcu faucibus, sit amet vulputate libero suscipit. Vestibulum ultrices nisi id metus ultrices, eu ultricies ligula rutrum. Phasellus rhoncus aliquam pretium. Quisque in nunc erat. Etiam mollis turpis cursus, sagittis felis vel, dignissim risus. Ut at est nec tellus lobortis venenatis. Fusce elit mi, gravida sed tortor at, faucibus interdum felis. Phasellus porttitor dolor in nunc pellentesque, eu hendrerit nulla porta. Vestibulum cursus placerat elit. Nullam malesuada dictum venenatis. Interdum et malesuada fames ac ante ipsum primis in faucibus.</Paragraph>
            </FlowDocument>
        </FlowDocumentReader>
    </Grid>
</Window>

Questo markup si tradurrà in una finestra come mostrato nello screenshot precedente. Ecco uno screenshot in cui usiamo la modalità a due pagine e abbiamo anche ridotto leggermente lo zoom:

Il controllo FlowDocumentReader ha un range di proprietà che possono aiutarti nel contollare il suo lavoro. Qui viene riporatta una lista delle più importanti:

ViewingMode - controlla la modalità iniziale di visualizzazione. Il default è Page, ma è possibile cambiare in Scroll oppure TwoPage se si preferisce un'altro modo di visualizzazione. L'utente lo può quindi modificare a meno che non sia volutamente disabilitato.

IsFindEnabled - dà la possibilità di alilitare e disabilitare la ricerca nel documento. Se disabilitato, il bottone di ricerca sarà rimosso dalla toolbar.

IsTwoPageViewEnabled , IsPageViewEnabled e IsScrollViewEnabled - permettono una specifica modalità di visualizzazione del reader. Se sono settati a falso, questa modalità non è più disponibile per il lettore e il pulsante viene rimosso dalla barra degli strumenti.

Zoom - permette di settare lo zoom di default. Lo standard è 100%, ma è possibile modificare questo valore con la proprietà Zoom.

Sommario

Abbiamo esaminato tutte le opzioni per un wrapper FlowDocument di sola lettura. La decisione dipende da ciò che si deve fare.

Se si vuole un semplice rendering FlowDocument con una barra di scorrimento, si può scegliere il controllo FlowDocumentScrollViewer: è semplice e, tra i tre, è quello che impiega meno risorse. Se si desidera visualizzare il documento pagina per pagina, è possibile utilizzare FlowDocumentPageViewer, a meno che non si desideri che l'utente sia in grado di passare da una modalità all'altra e sia in grado di effettuare ricerche rapide, inqual caso è necessario utilizzare FlowDocumentReader.


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!