Как скрыть строки меню WPF DocumentViewer?
-
22-07-2019 - |
Вопрос
В настоящее время у меня есть DocumentViewer
в окне WPF, которое отображает файл XPS. Я создал свою собственную "Следующая страница" и " Предыдущая страница " кнопки и установили свойство DocumentViewer.Background
полностью прозрачным.
Все, что осталось от собственных элементов управления DocumentViewer, - это строка меню вверху (отображающая настройки масштабирования, печать и т. д.) и тег " Найти " бар внизу. Мне бы очень хотелось удалить (или спрятать) оба этих бара, но я не могу понять, как !?
Кроме того, когда документ загружен, по умолчанию используется уровень масштабирования, при котором не отображается вся страница на экране, мне нужно изменить его, чтобы отображать по 1 странице за раз (полностью); Я уверен, что есть способ сделать это, но опять же, я еще не нашел как.
Решение
Чтобы удалить панель инструментов, необходимо изменить шаблон элемента управления DocumentViewer.
Начните с шаблона по этой ссылке http://msdn.microsoft.com /en-us/library/aa970452.aspx и удалите элемент ToolBar (и, возможно, также ContentControl с x: Name = " PART_FindToolBarHost " внизу).
Что касается настройки масштабирования, у меня нет элегантного решения XAML, но вы можете вызывать методы FitToWidth или FitToHeight DocumentViewer после загрузки документа (и на каждой странице, если необходимо, у вас уже есть собственная следующая / предыдущая страница код, который может вызывать эти методы)
Другие советы
Вот простой " обходной путь " способ просто скрыть те элементы, которые не требуют переопределения всего шаблона элемента управления:
<DocumentViewer>
<DocumentViewer.Resources>
<!-- Hides the search box-->
<Style TargetType="ContentControl">
<Setter Property="Visibility" Value="Collapsed" />
</Style>
<!-- Hides the toolbar -->
<Style TargetType="ToolBar">
<Setter Property="Visibility" Value="Collapsed" />
</Style>
</DocumentViewer.Resources>
</DocumentViewer>