Как скрыть строки меню WPF DocumentViewer? - PullRequest
6 голосов
/ 30 октября 2009

На данный момент у меня есть DocumentViewer в окне WPF, которое отображает файл XPS. Я создал свои собственные кнопки «Следующая страница» и «Предыдущая страница» и установил свойство DocumentViewer.Background полностью прозрачным.

Все, что осталось от собственных элементов управления DocumentViewer, - это строка меню вверху (отображение настроек масштабирования, печать и т. Д.) И панель «Найти» внизу. Я бы очень хотел удалить (или спрятать) оба этих бара, но я не могу понять, как !?

Кроме того, когда документ загружен, по умолчанию используется уровень масштабирования, при котором не отображается вся страница на экране, мне нужно изменить его, чтобы отображать по 1 странице за раз (полностью); Я уверен, что есть способ сделать это, но опять же, я еще не нашел, как это сделать.

Ответы [ 2 ]

22 голосов
/ 09 апреля 2013

Вот простой «обходной» способ просто скрыть те элементы, которые не требуют переопределения всего шаблона элемента управления:

 <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>
8 голосов
/ 02 ноября 2009

Чтобы удалить панель инструментов, необходимо изменить шаблон элемента управления DocumentViewer.

Начните с шаблона по этой ссылке http://msdn.microsoft.com/en-us/library/aa970452.aspx и удалите элемент ToolBar (и, возможно, также ContentControl с x: Name = "PART_FindToolBarHost" внизу).

Что касается настройки масштабирования, у меня нет элегантного решения XAML, но вы можете вызывать методы FitToWidth или FitToHeight DocumentViewer после загрузки документа (и на каждой странице, если необходимо, у вас уже есть собственная следующая / предыдущая страница код, который может вызывать эти методы)

...