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

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

Снимок экрана: элемент управления FlowDocumentReader с открытым примером документа.

Три элемента управления FlowDocument:

  • FlowDocumentScrollViewer: отображает содержимое в непрерывном режиме прокрутки, идеально подходит для чтения длинных документов без разбиения на страницы.
  • FlowDocumentPageViewer: представляет страницу содержимого по странице, аналогичную макету книги или журнала.
  • FlowDocumentReader: обеспечивает большую гибкость, позволяя пользователям переключаться между различными режимами просмотра, включая прокрутку, страницы по страницам и двухстраничные распределенные представления.

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

Подробные сведения о создании и работе с документами потока см. в разделе "Общие сведения о документе потока".

FlowDocumentScrollViewer

Элемент управления отображает содержимое FlowDocumentScrollViewer в контейнере прокрутки FlowDocument. Этот элемент управления идеально подходит для непрерывного чтения, в котором пользователи хотят прокручивать содержимое, а не перемещаться между страницами. В отличие от FlowDocumentPageViewer, в котором содержимое просматривается на каждой отдельной странице.

Свойство контента

Свойство содержимого для FlowDocumentScrollViewer — это Document, которое определяет отображаемое FlowDocument.

Комплектующие

В следующей FlowDocumentScrollViewer таблице перечислены именованные части элемента управления.

Имя части Тип части Description
PART_ContentHost ScrollViewer Элемент прокрутки для содержимого потокового документа.
PART_FindToolBarHost Decorator Хост панели инструментов поиска.
PART_ToolBarHost Decorator Хост панели инструментов.

Визуальные состояния

В следующей FlowDocumentScrollViewer таблице перечислены визуальные состояния элемента управления.

Имя VisualState Имя VisualStateGroup Description
Действительный ValidationStates Элемент управления действителен и не имеет ошибок проверки.
НедействительныйФокус ValidationStates Элемент управления имеет ошибку проверки и находится в фокусе клавиатуры.
НедействительныйНефокусированный ValidationStates Элемент управления имеет ошибку проверки, но не имеет фокуса клавиатуры.

FlowDocumentPageViewer

Элемент управления отображает FlowDocumentPageViewer содержимое FlowDocument на каждой странице. Этот элемент управления обеспечивает возможность чтения книги с элементами управления навигацией по страницам. Контрастирует с FlowDocumentScrollViewer, который отображает FlowDocument контент в средстве просмотра прокрутки.

Свойство контента

Это Document свойство является свойством содержимого FlowDocumentPageViewer элемента управления и содержит документ потока, отображаемый в средстве просмотра.

Комплектующие

В следующей FlowDocumentPageViewer таблице перечислены именованные части элемента управления.

Имя части Тип части Description
PART_FindToolBarHost Decorator Декоратор, на котором размещена панель инструментов поиска.

Визуальные состояния

В следующей FlowDocumentPageViewer таблице перечислены визуальные состояния элемента управления.

Визуальное состояние Группа визуальных состояний Description
Действительный ValidationStates Элемент управления действителен и не имеет ошибок проверки.
НедействительныйФокус ValidationStates Элемент управления имеет ошибку проверки и находится в фокусе клавиатуры.
НедействительныйНефокусированный ValidationStates Элемент управления имеет ошибку проверки, но не имеет фокуса клавиатуры.

FlowDocumentReader

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

Свойство контента

Свойство Document является свойством содержимого и определяет FlowDocument содержимое, отображаемое устройством чтения.

Комплектующие

В следующей FlowDocumentReader таблице перечислены именованные части элемента управления.

Имя части Тип части Description
PART_ContentHost Decorator Декоратор, на котором размещается средство просмотра содержимого для различных режимов просмотра.
PART_FindToolBarHost Decorator Декоратор, на котором размещена панель инструментов поиска при включении функций поиска.

Визуальные состояния

В следующей FlowDocumentReader таблице перечислены визуальные состояния элемента управления.

Имя визуального состояния Имя группы визуальных состояний Description
Действительный ValidationStates Элемент управления действителен и не имеет ошибок проверки.
НедействительныйФокус ValidationStates Элемент управления имеет ошибку проверки и находится в фокусе клавиатуры.
НедействительныйНефокусированный ValidationStates Элемент управления имеет ошибку проверки, но не имеет фокуса клавиатуры.

Стили и шаблоны

Вы можете изменить значение по умолчанию ControlTemplate для этих элементов управления, чтобы дать им уникальный внешний вид. Дополнительные сведения см. в статье "Что такое стили и шаблоны?", а также как создать шаблон для элемента управления.

См. также