TOC

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

Элементы управления текстом:

Элемент управления FlowDocumentReader

FlowDocumentReader - определенно самая продвинутая оболочка для чтения, которую вы можете поместить вокруг FlowDocument. Она предлагает кнопки, которые позволяют конечному пользователю переключаться между режимами рендеринга, предлагаемыми FlowDocumentScrollViewer и FlowDocumentPageViewer, а также встроенным поиском документов и, конечно же, элементами управления масштабом для увеличения и уменьшения.

Все эти функциональные возможности также делают FlowDocumentReader самой тяжелой из трех оболочек, предназначенных только для чтения, но это вряд ли будет проблемой с документами средних размеров. Вот пример того, как может выглядеть FlowDocumentReader:

Этот снимок экрана сделан в режиме просмотра страницы, который используется по умолчанию. Вы можете переключаться между режимами просмотра, используя кнопки слева от элемента управления масштабированием. В левой части панели инструментов у вас есть элементы управления поиска в документе.

Вот код, который даст вам вышеуказанный результат:

<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>

Эта разметка приведет к появлению окна, как показано на скриншоте выше. Вот скриншот, где мы перешли в двухстраничный режим и немного уменьшили масштаб:

FlowDocumentReader имеет ряд свойств, которые могут помочь вам контролировать его работу. Вот неполный список некоторых из наиболее важных:

ViewingMode - контролирует начальный режим просмотра. По умолчанию используется страница Page, но вы можете изменить это на прокрутка Scroll или две страницы TwoPage, если вам нужен другой вид по умолчанию. Это все может быть изменено пользователем, если специально это не отключено.

IsFindEnabled - дает вам возможность отключить поиск в документе. Если отключено, кнопка поиска будет удалена с панели инструментов.

IsTwoPageViewEnabled, IsPageViewEnabled и IsScrollViewEnabled - позволяет отключить определенный режим просмотра для читателя. Когда установлено значение false, этот режим больше не доступен для пользователя, и кнопка удаляется с панели инструментов.

Zoom - позволяет установить уровень масштабирования по умолчанию. Стандарт составляет 100%, но вы можете изменить это, используя свойство Zoom.

Резюме

Мы рассмотрели все варианты обёртки FlowDocument, доступной только для чтения, и, как вы, вероятно, можете видеть, какой из них выбрать действительно зависит от поставленной задачи.

Если вам просто нужен простой рендеринг FlowDocument с полосой прокрутки, вам следует использовать FlowDocumentScrollViewer - это просто и занимает меньше всего места и ресурсов из всех трех. Если вы хотите постраничное представление, используйте FlowDocumentPageViewer, если только вы не хотите, чтобы ваш пользователь мог переключаться между режимами и иметь возможность быстрого поиска, в этом случае вам следует использовать 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!