天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

WPF 瀏覽PDF 文件

     很長時間沒寫文章感覺手有點生了,前段時間忙的要死公事、家事、私事,事事操心。還好現在有些時間可以繼續寫博客了。本篇將為大家演示如何在WPF 程序中瀏覽PDF 文件,本例將通過Adobe PDF Reader COM 組件、WinForm 與WPF 集成方面的工具實現PDF 瀏覽功能。

  用戶控件

     打開VS2010,新建項目(WpfPDFReader),右鍵項目添加User Control(用戶控件)。因為Adobe PDF Reader COM 組件是不支持WPF的,為此我們需要將它放到WinForm 控件中。所以,在列表中需要選擇User Control,而不是User Control(WPF)。這里我將控件命名為:AdobeReaderControl.cs。完成添加雙擊控件進入設計模式。

AddUserCtl

  在工具箱里選擇添加組件,在COM 組件列表中點選“Adobe PDF Reader”。

SelectCom

  AcroPDFLib 和AxAcroPDFLib 庫會自動添加到項目中。

Reference

  添加成功后會在工具箱里看到下圖所示的控件。

Toolbox

  將該COM 控件拖入User Control 。

AddCom

  控件默認名稱為:axAcroPDF1,可按需要自行更改。

ComName

  Dock屬性設置為“Fill”,這樣可以使控件自動適應窗口尺寸。

Dock

  打開控件程序,修改構造函數。將PDF 文件傳入控件并進行加載。

using System.Windows.Forms;

namespace WpfPDFReader
{
public partial class AdobeReaderControl : UserControl
{
public AdobeReaderControl(string fileName)
{
InitializeComponent();

this.axAcroPDF1.LoadFile(fileName);
}
}
}

  到此用戶控件就基本完成了,下面開始WPF 部分的開發。

  WPF

  由于要將上面的WinForm 控件加載到WPF 程序中,所以先要為WPF 添加WindowsFormsIntegration。

WinForm

  打開XAML 在<Grid> 中添加Button 和WindowsFormsHost 控件,其中Button 用來啟動文件目錄窗口,從中選擇要瀏覽的PDF文件;WindowsFormsHost 則用于嵌入WinForm 控件。

<Window x:Class="WpfPDFReader.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="WPF PDF Reader" Height="350" Width="525">
<
Grid>
<
Button Content="Open File" Click="Button_Click" Width="100" Height="30"
VerticalContentAlignment="Center" VerticalAlignment="Top"
Margin="0,10,0,0"/>
<
WindowsFormsHost x:Name="winFormHost" Margin="0,46,0,0" />
</
Grid>
</
Window>

     下面來完成Button 點擊事件,將通過OpenFileDialog 選擇的PDF 文件路徑及名稱傳入AdobeReaderControl 用戶控件中,并將該控件添加到WindowsFormsHost。

private string openFileName;
private OpenFileDialog openFileDialog;

private void Button_Click(object sender, RoutedEventArgs e)
{
openFileDialog = new OpenFileDialog();
openFileDialog.DefaultExt = "pdf";
openFileDialog.Filter = "pdf files (*.pdf)|*.pdf";

DialogResult result = openFileDialog.ShowDialog();

if (result == System.Windows.Forms.DialogResult.OK)
{
openFileName = openFileDialog.FileName;

AdobeReaderControl pdfCtl = new AdobeReaderControl(openFileName);
winFormHost.Child = pdfCtl;
}
else
{
return;
}
}

  F5看下效果,點擊“Open File” 選擇一個PDF ,這樣一個簡單的WPF PDF Reader 就完成了。

Reader

  源代碼:WpfPDFReader.zip

NET技術WPF 瀏覽PDF 文件,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 99re久久热在线播放8 | 亚洲色欲国产AV精品综合 | 亚洲va在线va天堂XX xX | 国产精品av免费观看 | 秀婷程仪公欲息肉婷在线观看 | 久久久视频2019午夜福利 | 中文无码不卡的岛国片国产片 | 中文字幕一区二区三区在线观看 | 亚洲乱码国产乱码精品精98 | 疯狂做受XXXX高潮欧美日本 | yellow视频免费观看高清在线 | 三级全黄的视频在线观看 | 亚洲精品久久久久久偷窥 | 99re6久久热在线视频 | 精品一品国产午夜福利视频 | 日日摸夜夜添夜夜爽出水 | 伊人角狠狠狠狠 | 快播看黄片 | 一区三区在线专区在线 | 国产Av男人的天堂精品良久 | 大香伊蕉在人线国产最新 | 人妻满熟妇AV无码区国产 | 天美传媒在线完整免费观看网站 | 亚洲精品无码国产爽快A片百度 | 失禁 调教 刺激 哭喊男男 | 亚洲国产中文字幕在线视频综合 | 为什么丈夫插我我却喜欢被打着插 | 伊人久久精品中文字幕 | 久久秋霞理论电影 | hdsex老太婆70| 黑人玩弄极品人妻系列 | 久久夜色撩人精品国产 | 少妇内射视频播放舔大片 | 99re在这里只有精品 | xx顶级欧美熟妞xxhd | bbw美女与zooxx | 日本夜夜夜| 亚洲精品久久久无码 | 麻豆精品一卡2卡三卡4卡免费观看 | 国产亚洲精品看片在线观看 | 99久久麻豆AV色婷婷综合 |