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:

WPF Project

4. Add DotNetBrowser DLL assemblies

In the Solution Explorer, right-click References and select the Add References… menu item:

Add Reference

In the Reference Manager which opens, click the Browse button:

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:

Select Files

Double-check all selected references are added and appear in the Reference Manager dialog and click OK:

Confirm Reference

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:

Application Launch

Go Top