IRONSOFTWAREHOME
开发者更新

Avalonia C#(开发人员如何使用)

Jacob Mellor,Team Iron 的首席技术官
Jacob Mellor
Updated: 2026年4月21日

Avalonia C# 是一个跨平台的UI框架,为开发人员提供统一的项目和控件模板,用于创建在多个平台上平稳运行的应用程序。 它允许开发人员创建在Windows、Linux、macOS等系统上运行的应用程序。 这使得它成为那些希望开发能够接触广泛受众的应用程序的人的宝贵工具。 using Avalonia,创建跨平台桌面应用程序变得更简单。 该框架支持多种平台。 这种兼容功能通过扩展其跨平台的范围,增强了现有的 WPF 应用程序,而无需昂贵和风险的重写。

IronPDF Features 是一个库,可以让开发人员在 .NET 应用程序中生成 PDF。 当与 Avalonia 集成时,它可以创建能够将视图或数据导出为 PDF 的应用程序。 这为您的跨平台应用程序增添了宝贵的功能。

通过将 Avalonia 与 IronPDF 结合,开发人员拥有了一套强大的工具。 这些工具允许开发出复杂的应用程序。 这些应用程序可以拥有丰富的用户界面和生成PDF文档的能力。

Getting Started with Avalonia C#

设置您的开发环境

要开始使用 Avalonia 进行开发,您需要设置您的开发环境。 您可以使用 Visual Studio 或 JetBrains Rider 作为您的 IDE。首先,安装 Visual Studio 或 JetBrains Rider。 然后,将 Avalonia Visual Studio 扩展 添加到您的 IDE 中。这个扩展提供了项目模板和一个 XAML 预览器。 它增强了您的开发体验。

对于那些从跨平台 WPF 项目过渡过来的人来说,Avalonia C# 提供了一种熟悉的开发流程,完全可以访问由 .NET 基金会支持的外部链接和资源。

Your First Avalonia Application

创建第一个 Avalonia 应用程序很简单。 打开您的 IDE 并选择 Avalonia 项目模板。 这将创建一个默认的 Avalonia 设置的新项目。项目包括一个主窗口和一个基本配置。 运行项目以查看您的第一个 Avalonia 应用程序的运行效果。 现在,您已经开始了与 Avalonia C# 的旅程。

Avalonia C#(开发者指南):图1

Exploring Avalonia UI Features

Understanding Avalonia UI and XAML

Avalonia UI 使用 XAML 进行用户界面设计。 XAML 是一种定义 UI 元素的标记语言。 以下是 Avalonia 应用程序中 XAML 的一个简单示例:

<Window xmlns="https://github.com/avaloniaui"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Avalonia Example">
    <TextBlock Text="Hello, Avalonia!" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Window>
XML

这段代码在窗口中央创建一个文本块。 文本块显示"Hello, Avalonia!"。 XAML 使得设计和调整您的 UI 变得简单。

Styling and Control Templates

Avalonia 通过提供灵活的样式系统和支持大量设计需求而脱颖而出。 这种系统允许您定义应用程序的外观和感觉。 您可以自定义控件模板以获得一致的设计。 以下是如何为按钮定义一个简单样式:

<Window.Styles>
    <Style Selector="Button">
        <Setter Property="Background" Value="#007ACC"/>
        <Setter Property="Foreground" Value="White"/>
    </Style>
</Window.Styles>
XML

这种样式改变了窗口中所有按钮的背景和文本颜色。 Avalonia 的样式系统支持复杂的场景,包括主题和动画。

Working with Data and Controls

Avalonia 中的数据绑定可以将您的 UI 与数据源连接起来。 这是数据绑定的一个基本示例:

<TextBox Text="{Binding UserName}"/>
XML

这段代码将 Text 属性绑定到数据上下文中的 UserName 属性。 Avalonia 支持大量不同用途的控件,比如 ListBoxDataGridTreeView

Integrate IronPDF with Avalonia UI

IronPDF简介

Avalonia C#(开发者指南):图2

IronPDF Library Overview 是一个 .NET 库,使得处理 PDF 变得轻松。 它允许开发人员以编程方式创建、编辑和提取 PDF 内容。 IronPDF 的一个突出功能是将 HTML 转换为 PDF 的能力,这对于生成报告、发票或任何可以呈现为网页的文档来说非常有用。

Use Case: Merging IronPDF with Avalonia C#

想象一下,您正在使用 Avalonia 构建一个桌面应用程序,该应用程序需要将发票生成为 PDF。 您的应用程序有一个漂亮设计的 HTML 发票模板,您希望动态填充详细信息并将其保存为 PDF。 这正是 IronPDF 发挥作用的地方。 通过集成 IronPDF,您可以渲染带有填充数据的 HTML 发票模板并直接从 Avalonia 应用程序保存。

Code Example: Generating a PDF Invoice

下面是一个全面的例子,展示了如何实现此功能。 我们将创建一个简单的 Avalonia 窗口和一个按钮。 点击按钮时,会从 HTML 字符串(将作为我们的发票模板)生成 PDF 并将其保存到您的计算机上。

首先,确保您在项目中安装了 IronPDF 和 Avalonia 包。 如果没有,您可以通过 NuGet 添加它们。

现在,让我们来编写代码:

using Avalonia;
using Avalonia.Controls;
using Avalonia.Interactivity;
using Avalonia.Markup.Xaml;
using IronPdf;

public class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();

        // Attach development tools if in DEBUG mode
        // #if DEBUG
        this.AttachDevTools();
        // #endif

        // Assign event handler for the button click event
        this.FindControl<Button>("GeneratePdfButton").Click += OnGeneratePdfButtonClick;
    }

    private void InitializeComponent()
    {
        // Load the XAML layout into the current window
        AvaloniaXamlLoader.Load(this);
    }

    /// <summary>
    /// Event handler for when the "Generate PDF" button is clicked.
    /// Creates and saves a PDF file from an HTML string.
    /// </summary>
    private void OnGeneratePdfButtonClick(object sender, RoutedEventArgs e)
    {
        var Renderer = new ChromePdfRenderer();

        // Render an HTML string as a PDF document
        var PDF = Renderer.RenderHtmlAsPdf("<html><body><h1>Invoice</h1><p>This is a simple invoice.</p></body></html>");

        // Save the rendered PDF to the file system
        PDF.SaveAs("Invoice.pdf");

        // Display a message box to inform the user that the PDF is generated
        MessageBox.Show(this, "Invoice PDF generated successfully.", "Success");
    }
}

这段代码定义了一个MainWindow类,用于我们应用程序的主窗口。 MainWindow构造函数初始化窗口并为按钮的Click事件设置了一个事件处理程序。 OnGeneratePdfButtonClick方法通过使用 IronPDF 的 ChromePdfRenderer 类将 HTML 渲染为 PDF 文档并保存它来处理点击事件。

结论

Avalonia C#(开发者指南):图3

对于渴望在不牺牲 UI 质量或性能的情况下扩展应用程序跨多个平台覆盖面的开发人员,Avalonia 提供了一个引人注目的解决方案。 先访问 Avalonia 文档并加入社区,以探索这一强大的 UI 框架如何提升您的 C# 开发项目。

如果您想将其与 IronPDF 合并,可以尝试 IronPDF 的免费试用选项。 IronPDF的定价起始于$999。

Jacob Mellor,Team Iron 的首席技术官
首席技术官

Jacob Mellor 是 Iron Software 的首席技术官,也是一位开创 C# PDF 技术的有远见的工程师。作为 Iron Software 核心代码库的原始开发者,他从公司成立之初就开始塑造公司的产品架构,与首席执行官 Cameron Rimington 一起将公司转变为一家拥有 50 多名员工的公司,为 NASA、特斯拉和全球政府机构提供服务。

相关文章

Key in blue circle

立即获取免费的 30 天试用版密钥

无任何限制。100% 解锁。无需信用卡。

bullet_checked无需信用卡或创建账户无任何限制。100% 解锁。无需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
预约您的免费现场演示
Booking Badge

深受全球数百万工程师信赖

Iron Software 的客户徽标
获取您的无义务咨询
填写下面的表格或通过sales@ironsoftware.com
您的资料将始终保密。
深受全球数百万工程师信赖
Iron Software 的客户徽标
立即获取您的免费30 天试用密钥
无需信用卡或创建账户