在Winform中使用MoonPdfLib(Wpf控件)
引用WindowsFormsIntegration.dll,使用ElementHost类的Child属性关联wpf控件
1、新建winform项目,引用以下类库
2、窗体中代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Windows.Forms.Integration;
namespace WindowsFormsApp12
{
public partial class Form1 : Form
{
/// <summary>
/// wpf控件
/// </summary>
private MoonPdfLib.MoonPdfPanel _wpfControl;
private ElementHost _wpfHost;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
// 初始化wpf控件
_wpfControl = new MoonPdfLib.MoonPdfPanel();
_wpfControl.PageRowDisplay = MoonPdfLib.PageRowDisplayType.ContinuousPageRows;
// 初始化ElementHost
_wpfHost = new ElementHost();
_wpfHost.Width = this.panel1.Width;
_wpfHost.Height = this.panel1.Height;
_wpfHost.Child = _wpfControl; // 绑定wpf控件
// 将ElementHost添加到窗体
this.panel1.Controls.Add(_wpfHost);
}
private void toolStripButton1_Click(object sender, EventArgs e)
{
if (this.openFileDialog1.ShowDialog() == DialogResult.OK)
{
_wpfControl.OpenFile(this.openFileDialog1.FileName);
}
}
}
}