WPF程序中的XPSDocumentViewer
在.NET 3.0中,提供了对XPS文件格式的全新支持。在WPF程序中,有一个控件是DocumentViewer。这里对它的使用做一个简要介绍
<Window x:Class="WpfApplication2.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="444" Width="640">
<Grid>
<DocumentViewer Margin="12,12,12,40" Name="documentViewer1" />
<Button Height="23" HorizontalAlignment="Left" Margin="12,0,0,11" Name="button1" VerticalAlignment="Bottom" Width="75" Click="button1_Click">打开</Button>
</Grid>
</Window>
后台代码
using System.Windows.Xps.Packaging;
using System.Windows.Forms;
namespace WpfApplication2
{
/// <summary>
/// Window1.xaml 的交互逻辑
/// </summary>
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
}
private void button1_Click(object sender, RoutedEventArgs e)
{
OpenFileDialog dialog = new OpenFileDialog();
dialog.Filter = "XPS 文档(*.xps)|*.xps";
if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
XpsDocument doc = new XpsDocument(dialog.FileName, System.IO.FileAccess.Read);
documentViewer1.Document = doc.GetFixedDocumentSequence();
}
}
}
}
注意,要使用该代码,必须是VS2008,并设置为目标框架为.NET 3.0或者.NET 3.5
还需要手工添加下面两个引用
这个ReachFramework.dll是在C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.0这个目录下
WPF程序中的XPSDocumentViewer相关推荐
- 解决WPF程序中ListBox ItemsSource变化时不重置ScrollBar的问题
解决WPF程序中ListBox ItemsSource变化时不重置ScrollBar的问题 参考文章: (1)解决WPF程序中ListBox ItemsSource变化时不重置ScrollBar的问题 ...
- 学习OpenCV(7) 在WPF程序中使用EmguCV
在WPF程序中使用EmguCV 在WPF中使用EmguCV主要要处理的是ImageBox控件在WPF页面上的使用和如何利用WPF的双向数据绑定来向ImageBox上显示图片. 新建WPF应用 使用VS ...
- 在WPF程序中使用多线程技术
在WPF应用程序中使用多线程的方式与Windows Forms很类似,区别在于,如果需要更新主线程UI上面的元素,需要用一个特殊的方法(this.Dispatcher.Invoke) 下面是一个简单的 ...
- 在WPF程序中打开网页:使用代理服务器并可进行JS交互
本项目环境:使用VS2010(C#)编写的WPF程序,通过CefSharp在程序的窗体中打开网页.需要能够实现网页后台JS代码中调用的方法,从网页接收数据,并能返回数据给网页.运行程序的电脑不允许上网 ...
- 在 DotNetCore 3.0 程序中使用通用协议方式启动文件关联应用
问题描述 在传统的基于 .NET Framework 的 WPF 程序中,我们可以使用如下代码段启动相关的默认应用: Copy # 启动默认文本编辑器打开 helloworld.txt Process ...
- 将传统 WPF 程序迁移到 DotNetCore 3.0
介绍 由于历史原因,基于 Windows 平台存在着大量的基于 .NetFramework 开发的 WPF 和 WinForm 相关程序,如果将这些程序全部基于 DotNetCore 3.0 重写一遍 ...
- 发送linux键盘消息,在C#程序中模拟发送键盘按键消息
using System.Runtime.InteropServices; 引入键盘事件函数 [DllImport("user32.dll")] public static ext ...
- WPF 程序鼠标在窗口之外的时候,控件拿到的鼠标位置在哪里?
在 WPF 程序中,我们有 Mouse.GetPosition(IInputElement relativeTo) 方法可以拿到鼠标当前相对于某个 WPF 控件的位置,也可以通过在 MouseMove ...
- 在winform程序中启动wpf窗体
有时候需要在winform程序中利用wpf的许多优良特性,如何在其中启动wpf窗体呢? 前提:MainWindow.xaml是从别的地方copy到这个项目的,值得注意的是,除了MainWindow.x ...
最新文章
- 解决使用Dockerfile来build镜像时pip install遇到的BUG
- python横向柱状图-python绘制横向水平柱状条形图Bar
- Python 使用 UTF-8 编码(转)
- pom.xml增加依赖
- bootstrap的表单验证 vue_第45天:Web表单
- SpringBoot2.1.5 (9)--- GET 请求
- 关于RecyclerView条目复用
- 大数据与Hadoop的区别
- laydate点击输入框闪一下不见了_解决layui laydate 时间控件一闪而过的问题
- Lisp面面观松本行弘谈Lisp元编程
- 企业网络规划和设计方案
- 光纤跳线选用指南及光模块连接方案
- python大小写转换_Python字母大小写的转换(两种方法)
- 2020下半年教师资格证《幼儿综合素质》真题及答案
- Yolov3:win10下训练自己的数据(GPU版)(详细步骤)
- Android Studio修改apk命名
- 基于Python的QQ音乐音频图片搜索系统设计与实现 毕业论文+源码
- 展示一下香蕉派路由Android系统
- 地铁听书系列之“看破不说破,81个为人处事潜规则”8月圆满收尾20220831
- (SEED-LabCross-Site Scripting (XSS) Attack Lab跨站脚本攻击实验