Windows Presentation Foundation (WPF) 作为开发桌面应用程序的框架,因其灵活性而广泛应用。随着应用程序的发展,在 WPF 中集成现代 Web 内容变得至关重要。DotNetBrowser 作为一个 .NET 库,满足了这一需求,使开发人员能够在 WPF 应用中嵌入基于 Chromium 的浏览器,实现 .NET 桌面应用程序内的 Web 内容展示与交互。

本文将引导您一步步完成在 WPF 项目中集成 DotNetBrowser 的过程。

为什么选择 DotNetBrowser 

WPF 本身已经非常适合构建丰富的用户界面,但如果您的应用程序需要与动态 Web 内容交互或显示交互式 HTML5 功能,该怎么办呢?此时,DotNetBrowser 的优势便得以充分展现。DotNetBrowser 基于 Chromium 引擎,具备以下特点:

  • 确保与现代 Web 标准完全兼容,包括 HTML5、JavaScript 和 CSS3。
  • 与 WPF 无缝集成,使开发人员能够专注于 UI 和交互,而不必担心管理浏览器的复杂性。
  • 在处理网页内容时,实施沙盒技术和安全协议,以确保应用程序的安全性。

入门指南 

让我们来深入了解一下将 DotNetBrowser 与 WPF 项目集成的过程。首先在 Visual Studio 中创建一个新的 WPF 项目:

  1. 打开 Visual Studio 并选择“创建新项目”。
  2. 根据需要选择 “WPF App (.NET Core)” 或 “WPF App (.NET Framework)"。
  3. 将项目命名为 Examples.Wpf,点击“创建”。

通过 NuGet 安装 DotNetBrowser:

  1. 在 Solution Explorer(解决方案资源管理器)中右键点击您的项目,并选择 “Manage NuGet Packages(管理 NuGet 程序包)"。
  2. 在 Browse 选项卡中,搜索 DotNetBrowser.Wpf 包并安装它。这将自动包含所有必要的依赖项。
  3. 安装完成后,您可以检查 packages.configProject.csproj 文件,以确认它已成功添加。

将 DotNetBrowser 添加到您的 WPF 应用程序中:

现在您已安装 DotNetBrowser,我们来将它嵌入到您的 WPF 窗口中。在您的 MainWindow.xaml 文件中,添加一个 WPF:BrowserView 控件来承载浏览器:

<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="Examples.Wpf.MainWindow"
    mc:Ignorable="d"
    Title="MainWindow" Height="480" Width="800" Closed="Window_Closed">
    <Grid>
        <WPF:BrowserView Name="browserView" />
    </Grid>
</Window>

接下来,打开 MainWindow.xaml.cs 文件并创建 Engine 和 Browser 实例:

using System;
using System.Windows;
using DotNetBrowser.Browser;
using DotNetBrowser.Engine;

namespace Examples.Wpf
{
    public partial class MainWindow : Window
    {
        private const string Url = "https://html5test.teamdev.com/";
        private readonly IBrowser browser;
        private readonly IEngine engine;

        public MainWindow()
        {
            // 启动 Chromium main 进程。
            EngineOptions engineOptions = new EngineOptions.Builder
            {
                RenderingMode = RenderingMode.HardwareAccelerated,
                LicenseKey = license key
            }.Build();
            engine = EngineFactory.Create(engineOptions);

            browser = engine.CreateBrowser();

            InitializeComponent();

            // 将 BrowserView 控件与实际浏览器连接起来。
            browserView.InitializeFrom(browser);
            browser.Navigation.LoadUrl(Url);
        }

        private void Window_Closed(object sender, EventArgs args)
        {
            browser?.Dispose();
            engine?.Dispose();
        }
    }
}

现在,您可以运行该应用程序。启动后,您会看到浏览器已成功嵌入到您的窗口中,显示指定的 Web 内容。

DotNetBrowser 的优势 

DotNetBrowser 在 WPF 项目中的集成提供了一系列技术能力:

  • 支持 JavaScript、HTML5 和 CSS3,允许将基于网页的 UI 组件集成到桌面应用程序中。

  • 实现了 .NET 到 JavaScript 的通信,促进了应用程序逻辑与 Web 内容之间的直接交互。

  • 通过硬件加速渲染,可以确保即使在处理复杂 Web 内容时也能保持流畅的性能。

结论 

将 DotNetBrowser 与 WPF 集成,使开发人员能够将交互式 Web 内容直接嵌入到用户界面中来增强桌面应用程序。这种方法支持从企业级解决方案到面向消费者的应用程序等一系列应用场景,允许 .NET 开发人员利用桌面和 Web 技术来实现更具多样化的功能。


准备好将您的 WPF 应用程序提升到新高度了吗?获取 DotNetBrowser 的评估许可证密钥,并开始构建现代 .NET 解决方案吧!

Spinner

发送中。。。

抱歉,发送中断

请再次尝试,如果问题仍然存在,请联系我们 info@teamdev.com.

阅读并同意条款以继续。

您的个人 DotNetBrowser 试用密钥和快速入门指南将在几分钟内发送至您的电子邮箱。

您是否正在考虑使用 WebView2?建议您阅读我们的文章,以了解为何 DotNetBrowser 是商业应用的更佳选择