在.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这个目录下