UI⑥Control族控件DocumentViewer

Object->DispatcherObject->DependencyObject->Visual->UIElement->FrameworkElement->Control->DocumentViewerBase->DocumentViewer

 


DocumentViewer

表示一个文档查看控件,该控件可以承载分页的 FixedDocument 内容,例如 XpsDocument

自定义 DocumentViewer 控件

若要对多个 DocumentViewer 控件应用相同的属性设置,请使用 Style 属性。 您可以修改 ControlTemplate 默认值,为控件指定独特的外观。 有关创建 ControlTemplate 的详细信息,请参阅 通过创建 System.windows.controls.controltemplate> 自定义现有控件的外观。 若要查看特定于 DocumentViewer 的部分和状态,请参阅 DocumentViewer 样式和模板

此控件的依赖属性可能由控件的默认样式设置。 如果按默认样式设置属性,则当控件出现在应用程序中时,属性可能会更改为默认值。 默认样式取决于应用程序运行时使用的桌面主题。 有关详细信息,请参阅 默认的 WPF 主题

名称备注权限
CanDecreaseZoomProperty标识 CanDecreaseZoom 依赖项属性。public static readonly
CanIncreaseZoomProperty标识 CanIncreaseZoom 依赖项属性。public static readonly
CanMoveDownProperty标识 CanMoveDown 依赖项属性。public static readonly
CanMoveLeftProperty标识 CanMoveLeft 依赖项属性。public static readonly
CanMoveRightProperty标识 CanMoveRight 依赖项属性。public static readonly
CanMoveUpProperty标识 CanMoveUp 依赖项属性。public static readonly
ExtentHeightProperty标识 ExtentHeight 依赖项属性。public static readonly
ExtentWidthProperty标识 ExtentWidth 依赖项属性。public static readonly
HorizontalOffsetProperty标识 HorizontalOffset 依赖项属性。public static readonly
HorizontalPageSpacingProperty标识 HorizontalPageSpacing 依赖项属性。public static readonly
MaxPagesAcrossProperty标识 MaxPagesAcross 依赖项属性。public static readonly
ShowPageBordersProperty标识 ShowPageBorders 依赖项属性。public static readonly
VerticalOffsetProperty标识 VerticalOffset 依赖项属性。public static readonly
VerticalPageSpacingProperty标识 VerticalPageSpacing 依赖项属性。public static readonly
ViewportHeightProperty标识 ViewportHeight 依赖项属性。public static readonly
ViewportWidthProperty标识 ViewportWidth 依赖项属性。public static readonly
ZoomProperty标识 Zoom 依赖项属性。public static readonly
名称备注权限
CanDecreaseZoom获取一个值,该值指示 DocumentViewer 是否可以进一步缩小。get;
CanIncreaseZoom获取一个值,该值指示 DocumentViewer 是否可以进一步放大。get;
CanMoveDown获取一个值,该值指示 DocumentViewer 是否可以在文档中进一步向下移动。get;
CanMoveLeft获取一个值,该值指示 DocumentViewer 是否可以在文档中进一步向左移动。get;
CanMoveRight获取一个值,该值指示 DocumentViewer 是否可以在文档中进一步向右移动。get;
CanMoveUp获取一个值,该值指示 DocumentViewer 是否可以在文档中进一步向上移动。get;
ExtentHeight获取分页文档的整体垂直高度。get;
ExtentWidth获取分页文档的整体水平宽度。get;
FitToHeightCommand获取执行 FitToHeight() 操作的 RoutedUICommandget;
FitToMaxPagesAcrossCommand获取执行 MaxPagesAcross 操作的 RoutedUICommandget;
FitToWidthCommand获取执行 FitToWidth() 操作的 RoutedUICommandget;
HorizontalOffset获取或设置水平滚动条位置。get; set;
HorizontalPageSpacing获取或设置页面之间的水平间距。get; set;
MaxPagesAcross获取或设置一个值,该值定义要显示的最大页面列数。get; set;
ShowPageBorders获取或设置一个值,该值指示是否显示阴影页边框。get; set;
VerticalOffset获取或设置垂直滚动条的位置。get; set;
VerticalPageSpacing获取或设置显示页面之间的垂直间距。get; set;
ViewportHeight获取可滚动的内容区域的垂直大小。get;
ViewportWidth获取可滚动的内容区域的水平大小。get;
ViewThumbnailsCommand获取执行 ViewThumbnails() 操作的 RoutedUICommandget;
Zoom获取或设置文档缩放百分比。get; set;
名称备注权限
DecreaseZoom将文档内容缩小一个缩放级别。public
Find将焦点移到查找工具栏上,以搜索文档内容。public
FitToHeight使一个页面适合当前视区的高度。public
FitToMaxPagesAcross使文档适合 MaxPagesAcross 属性设置。public
FitToWidth使一个页面适合当前视区的宽度。public
GetPageViewsCollection返回当前显示的 DocumentPageView 元素的集合。protected
IncreaseZoom将文档内容放大一个缩放级别。public
MoveDown将文档内容向下滚动 16 个与设备无关的像素。public
MoveLeft将文档内容向左滚动 16 个与设备无关的像素。public
MoveRight将文档内容向右滚动 16 个设备独立像素。public
MoveUp将文档内容向上滚动 16 个与设备无关的像素。public
OnApplyTemplate响应对 ApplyTemplate() 方法的调用。public
OnBringIntoView响应来自 OnBringIntoView(DependencyObject, Rect, Int32) 实现的 DocumentViewerBase 方法。protected
OnCreateAutomationPeer创建并返回此 AutomationPeer 控件的 DocumentViewerprotected
OnDecreaseZoomCommand响应对 DecreaseZoom() 方法的调用。protected
OnDocumentChanged当要显示的文档发生变化时对调用做出响应。protected
OnFindCommand响应对 Find() 方法的调用。protected
OnFirstPageCommand响应对 FirstPage() 方法的调用。protected
OnFitToHeightCommand响应对 FitToHeight() 方法的调用。protected
OnFitToMaxPagesAcrossCommand响应对 FitToMaxPagesAcross 方法的调用。protected
OnFitToWidthCommand响应对 FitToWidth() 方法的调用。protected
OnGoToPageCommand响应对 GoToPage(Int32) 方法的调用。protected
OnIncreaseZoomCommand响应对 IncreaseZoom() 方法的调用。protected
OnKeyDown响应 KeyDown 事件。protected
OnLastPageCommand响应对 LastPage() 方法的调用。protected
OnMouseLeftButtonDown响应 MouseLeftButtonDown 事件。protected
OnMoveDownCommand响应对 MoveDown() 方法的调用。protected
OnMoveLeftCommand响应对 MoveLeft() 方法的调用。protected
OnMoveRightCommand响应对 MoveRight() 方法的调用。protected
OnMoveUpCommand响应对 MoveUp() 方法的调用。protected
OnNextPageCommand响应对 NextPage() 方法的调用。protected
OnPreviewMouseWheel响应 PreviewMouseWheel 事件。protected
OnPreviousPageCommand响应对 PreviousPage() 方法的调用。protected
OnScrollPageDownCommand响应对 ScrollPageDown() 方法的调用。protected
OnScrollPageLeftCommand响应对 ScrollPageLeft() 方法的调用。protected
OnScrollPageRightCommand响应对 ScrollPageRight() 方法的调用。protected
OnScrollPageUpCommand响应对 ScrollPageUp() 方法的调用。protected
OnViewThumbnailsCommand响应对 ViewThumbnails() 方法的调用。protected
ScrollPageDown向下滚动一个视区。public
ScrollPageLeft向左滚动一个视区。public
ScrollPageRight向右滚动一个视区。public
ScrollPageUp向上滚动一个视区。public
ViewThumbnails显示页面的缩略图表示形式。public

 


DocumentViewerBase

提供用于显示固定内容或流动内容(分别由 FixedDocument 或 FlowDocument 表示)的查看器的基类。

DocumentViewerBase 是一个最小基类,旨在仅提供在文档查看方案中通用的基本功能。 此基类不提供用户界面。

名称备注权限
CanGoToNextPageProperty标识 CanGoToNextPage 依赖项属性。public static readonly
CanGoToNextPagePropertyKey标识 CanGoToNextPage 依赖属性键。public static readonly
CanGoToPreviousPageProperty标识 CanGoToPreviousPage 依赖项属性。public static readonly
CanGoToPreviousPagePropertyKey标识 CanGoToPreviousPage 依赖属性键。public static readonly
DocumentProperty标识 Document 依赖项属性。public static readonly
IsMasterPageProperty标识 IsMasterPage 附加属性。public static readonly
MasterPageNumberProperty标识 MasterPageNumber 依赖项属性。public static readonly
MasterPageNumberPropertyKey标识 MasterPageNumber 依赖属性键。public static readonly
PageCountProperty标识 PageCount 依赖项属性。public static readonly
PageCountPropertyKey标识 PageCount 依赖属性键。protected static readonly
名称备注权限
CanGoToNextPage获取一个值,该值指示此查看器是否能跳转到当前 Document 的下一页。get;
CanGoToPreviousPage获取一个值,该值指示此查看器是否能跳转到当前 Document 的上一页。get;
Document获取或设置要分页或由查看器显示的 IDocumentPaginatorSourceget;
LogicalChildren获取查看器的逻辑树中子级的枚举器。get;
MasterPageNumber获取当前母版页的页码。get;
PageCount获取当前 Document 的总页数。get;
PageViews获取查看器所包含的活动 DocumentPageView 对象的只读集合。get;
名称备注权限
CancelPrint取消任何当前打印作业。public
CanGoToPage返回一个值,该值指示查看器是否能跳转到指定的页码。public
FirstPage导致查看器跳转到当前文档的第一页(由 Document 属性表示)。public
GetIsMasterPage返回指定的依赖对象的 IsMasterPage 附加属性值。public
GetMasterPageView返回此查看器的当前母版 DocumentPageViewprotected
GetPageViewsCollection创建并返回与当前显示文档(由 Document 属性表示)关联的 DocumentPageView 对象的新的只读集合。protected
GoToPage导致查看器跳转到指定页码。public
InvalidatePageViews导致要重新生成 PageViews 工作集合。protected
LastPage导致查看器跳转到当前文档的最后一页(由 Document 属性表示)。public
NextPage导致查看器跳转到当前文档的下一页(由 Document 属性表示)。public

OnApplyTemplate

为查看器构建可视化树。public
OnBringIntoView返回一个值,该值指示查看器是否能跳转到指定的页码。protected
OnCancelPrintCommand导致查看器跳转到当前文档的第一页(由 Document 属性表示)。protected
OnCreateAutomationPeer返回指定的依赖对象的 IsMasterPage 附加属性值。protected
OnDocumentChanged返回此查看器的当前母版 DocumentPageViewprotected
OnDpiChanged创建并返回与当前显示文档(由 Document 属性表示)关联的 DocumentPageView 对象的新的只读集合。protected
OnFirstPageCommand导致查看器跳转到指定页码。protected
OnGoToPageCommand处理 GoToPage 路由命令。protected
OnLastPageCommand处理 LastPage 路由命令。protected
OnMasterPageNumberChanged只要修改 MasterPageNumber 属性就会调用此方法。protected
OnNextPageCommand处理 NextPage 路由命令。protected
OnPageViewsChanged只要修改此查看器的 DocumentPageView 对象(由 PageViews 属性表示)的工作集,就会调用此方法。protected
OnPreviousPageCommand处理 PreviousPage 路由命令。protected
OnPrintCommand处理 Print 路由命令。protected
PreviousPage导致查看器跳转到当前文档的上一页(由 Document 属性表示)。public
Print调用标准的“打印”对话框,此对话框可用于打印查看器的内容和配置打印首选项。public
SetIsMasterPage设置指定依赖对象上的 IsMasterPage 附加属性。public
名称备注

PageViewsChanged

当与此查看器(由 DocumentPageView 属性表示)关联的 PageViews 项目的集合更改时发生。
名称备注

IServiceProvider.GetService

object IServiceProvider.GetService (Type serviceType);

IAddChild.AddChild

void IAddChild.AddChild (object value);

IAddChild.AddText

void IAddChild.AddText (string text);
名称备注对应方法

IsMasterPage

获取一个值,该值指示是否应将查看器中的子元素用作母版页。GetIsMasterPage、SetIsMasterPage

 


简单范例

<Window x:Class="DocumentViewerDemo.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:DocumentViewerDemo"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
    <DocumentViewer x:Name="myDocumentViewer">
    </DocumentViewer>
</Window>
using Microsoft.Win32;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Xps.Packaging;

namespace DocumentViewerDemo
{
    /// <summary>
    /// MainWindow.xaml 的交互逻辑
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            OpenFileDialog dialog = new OpenFileDialog { Filter = "XPS 文档(*.xps)|*.xps" };
            if (dialog.ShowDialog() == true)
            {
                myDocumentViewer.Document = new XpsDocument(dialog.FileName, System.IO.FileAccess.Read).GetFixedDocumentSequence();

            }
        }
    }
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值