【问题标题】:How do you hide a WPF DocumentViewer's menu bars?如何隐藏 WPF DocumentViewer 菜单栏?
【发布时间】:2010-12-11 13:59:25
【问题描述】:

目前,我在显示 XPS 文件的 WPF 窗口中有一个 DocumentViewer。我创建了自己的“下一页”和“上一页”按钮,并将DocumentViewer.Background 属性设置为完全透明。

DocumentViewer 自己的控件只剩下顶部的菜单栏(显示缩放设置、打印等)和底部的“查找”栏。我很想删除(或隐藏)这两个栏,但我似乎无法弄清楚如何!?

此外,当文档加载时,它默认为不在屏幕上显示整个页面的缩放级别,我需要将其更改为一次显示 1 页(完全);我确信有办法做到这一点,但我还没有找到方法。

【问题讨论】:

  • 请问您是如何添加自定义下一页和上一页按钮的?

标签: wpf xps xpsdocument documentviewer


【解决方案1】:

这里有一个简单的“变通”方法来隐藏那些不需要覆盖整个控件模板的元素:

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

【讨论】:

    【解决方案2】:

    要删除工具栏,您必须更改 DocumentViewer 的控件模板。

    从这个链接中的模板开始http://msdn.microsoft.com/en-us/library/aa970452.aspx 并删除 ToolBar 元素(可能还有底部带有 x:Name="PART_FindToolBarHost" 的 ContentControl)。

    关于设置缩放,我没有优雅的 XAML 解决方案,但您可以在加载文档后调用 DocumentViewer 的 FitToWidth 或 FitToHeight 方法(如果必须,每个页面,您已经拥有自己的下一页/上一页可以调用这些方法的代码)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-22
      • 1970-01-01
      • 2011-09-25
      相关资源
      最近更新 更多