Как скрыть строки меню WPF DocumentViewer?

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

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

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

2 ответов


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

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

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


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

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