Quick Start for WPF
In this article, you will learn how to download the DotNetBrowser library, get an evaluation license, and create, configure and run your first .NET WPF Application which loads and displays the DotNetBrowser Home Page.
Environment:
Windows 10, Microsoft Visual Studio 2017, .NET Framework 4.6.
The sample solution which demonstrates how to embed lightweight or heavyweight controls into WPF applications can be downloaded here. The projects in this solution have NuGet dependencies which will be resolved automatically during build.
1. Download the library
To download DotNetBrowser library, navigate to http://www.teamdev.com/dotnetbrowser and click the Download button. Extract the downloaded dotnetbrowser-2.x.zip archive into the D:\Projects\DotNetBrowser\
directory.
2. Get license
To get a free 30-day evaluation license, fill the web form and click the GET EVALUATION button. You will receive an email with the license key that you should use to run the example.
3. Create a WPF application
Create a new WPF.DotNetBrowser
WPF Application C# Project or WPF Application Visual Basic Project in the D:\Projects\DotNetBrowser
directory:
4. Add DotNetBrowser DLL assemblies
In the Solution Explorer, right-click References and select the Add References… menu item:
In the Reference Manager which opens, click the Browse button:
Select the DotNetBrowser.dll
, DotNetBrowser.Core.dll
, DotNetBrowser.Logging.dll
, DotNetBrowser-Chromium.Win-x86.dll
, DotNetBrowser-Chromium.Win-x64.dll
, DotNetBrowser.Wpf.dll
files and click Add:
Double-check all selected references are added and appear in the Reference Manager dialog and click OK:
5. Add a license
To embed the license key into your project, copy the license key string from the email and insert it as shown below:
IEngine engine = EngineFactory.Create(new EngineOptions.Builder
{
LicenseKey = "your_license_key"
}.Build());
Dim engine As IEngine = EngineFactory.Create(New EngineOptions.Builder With
{
.LicenseKey = "your_license_key"
}.Build())
For more information on license installation, refer to this article.
6. Change the source code
Insert the following code into the MainWindow.xaml file:
<Window
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:WPF="clr-namespace:DotNetBrowser.Wpf;assembly=DotNetBrowser.Wpf"
x:Class="Embedding.Wpf.MainWindow"
mc:Ignorable="d"
Title="MainWindow" Height="480" Width="800" Closed="Window_Closed">
<Grid>
<WPF:BrowserView Name="browserView" />
</Grid>
</Window>
Use the code sample below for the MainWindow.xaml.cs MainWindow.xaml.vb file:
using System;
using System.Windows;
using DotNetBrowser.Browser;
using DotNetBrowser.Engine;
namespace Embedding.Wpf
{
/// <summary>
/// This example demonstrates how to embed DotNetBrowser
/// into a WPF application.
/// </summary>
public partial class MainWindow : Window
{
private const string Url = "https://html5test.com/";
private readonly IBrowser browser;
private readonly IEngine engine;
public MainWindow()
{
// Create and initialize the IEngine instance.
EngineOptions engineOptions = new EngineOptions.Builder
{
RenderingMode = RenderingMode.HardwareAccelerated
}.Build();
engine = EngineFactory.Create(engineOptions);
// Create the IBrowser instance.
browser = engine.CreateBrowser();
InitializeComponent();
// Initialize the WPF BrowserView control.
browserView.InitializeFrom(browser);
browser.Navigation.LoadUrl(Url);
}
private void Window_Closed(object sender, EventArgs e)
{
browser?.Dispose();
engine?.Dispose();
}
}
}
Imports System.Windows
Imports DotNetBrowser.Browser
Imports DotNetBrowser.Engine
Namespace Embedding.Wpf
''' <summary>
''' This example demonstrates how to embed DotNetBrowser
''' into a WPF application.
''' </summary>
Partial Public Class MainWindow
Inherits Window
Private Const Url As String = "https://html5test.com/"
Private ReadOnly browser As IBrowser
Private ReadOnly engine As IEngine
Public Sub New()
' Create and initialize the IEngine instance.
Dim engineOptions As EngineOptions = New EngineOptions.Builder With {
.RenderingMode = RenderingMode.HardwareAccelerated
}.Build()
engine = EngineFactory.Create(engineOptions)
' Create the IBrowser instance.
browser = engine.CreateBrowser()
InitializeComponent()
' Initialize the WPF BrowserView control.
browserView.InitializeFrom(browser)
browser.Navigation.LoadUrl(Url)
End Sub
Private Sub Window_Closed(sender As Object, e As EventArgs)
browser?.Dispose()
engine?.Dispose()
End Sub
End Class
End Namespace
The complete project is available in our repository: C#, VB.
7. Run the application
To run the application, press F5 or click the Start button on the toolbar. The MainWindow opens: