Avalonia C#(開發者使用指南)
Avalonia C# 是跨平台的 UI 框架,為開發人員提供統一的專案和控制範本,以建立可在多平台上順暢運作的應用程式。 它可讓開發人員建立可在 Windows、Linux、macOS 等平台上執行的應用程式。 這使得它對於那些希望開發能接觸到廣泛受眾的應用程式的人而言,是一個非常有價值的工具。
有了 Avalonia,建立跨平台桌面應用程式變得更簡單。 該架構支援多種平台。 此相容性功能可擴展現有 WPF 應用程式的跨平台使用範圍,而無須進行昂貴且具風險的重寫工作,進而增強現有 WPF 應用程式的功能。
IronPDF Features 是一個可讓開發人員在 .NET 應用程式中產生 PDF 的函式庫。 與 Avalonia 整合後,可建立可將檢視或資料匯出至 PDF 的應用程式。 這可為您的跨平台應用程式增添寶貴的功能。
透過結合 Avalonia 與 IronPDF,開發人員擁有了一套強大的工具。 這些工具允許開發複雜的應用程式。 這些應用程式可以有豐富的使用者介面,並能夠產生 PDF 文件。
Avalonia C# 入門
設定您的開發環境
要開始使用 Avalonia 開發,您需要設定您的開發環境。 您可以使用 Visual Studio 或 JetBrains Rider 作為您的 IDE。首先,安裝 Visual Studio 或 JetBrains Rider。 然後,將 Avalonia Visual Studio Extension 新增至您的 IDE。此擴充套件提供專案範本和 XAML 預覽器。 它能提升您的開發經驗。
對於那些從跨平台 WPF 專案轉換過來的人,Avalonia C# 提供了熟悉的開發流程,並可存取 .NET 基金會支援的外部連結和資源。
您的第一個 Avalonia 應用程式
建立您的第一個 Avalonia 應用程式非常簡單直接。 開啟您的 IDE 並選擇 Avalonia 專案範本。 這會以預設的 Avalonia 設定建立一個新專案。專案包含一個主視窗和基本設定。 執行專案,看看您的第一個 Avalonia 應用程式在運作中。 現在您已經開始了 Avalonia C# 的旅程。

探索 Avalonia UI 功能。
瞭解 Avalonia UI 和 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><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>這段程式碼會建立一個視窗,中央有一個文字區塊。 文字區塊顯示"Hello, Avalonia!"。 XAML 可讓您輕鬆設計和調整 UI。
樣式與控制範本
Avalonia 因提供靈活的樣式系統及支援大量設計需求而脫穎而出。 本系統可讓您定義應用程式的外觀與感覺。 您可以自訂控制範本,以達到一致的設計。 以下是如何定義按鈕的簡單樣式:
<Window.Styles>
<Style Selector="Button">
<Setter Property="Background" Value="#007ACC"/>
<Setter Property="Foreground" Value="White"/>
</Style>
</Window.Styles><Window.Styles>
<Style Selector="Button">
<Setter Property="Background" Value="#007ACC"/>
<Setter Property="Foreground" Value="White"/>
</Style>
</Window.Styles>此樣式會改變視窗中所有按鈕的背景和文字顏色。 Avalonia 的造型系統支援複雜的情境,包括主題和動畫。
使用資料和控制項。
Avalonia 中的資料綁定功能可讓您的使用者介面與資料來源連接。 以下是資料綁定的基本範例:
<TextBox Text="{Binding UserName}"/><TextBox Text="{Binding UserName}"/>此程式碼將 TextBox 的 Text 屬性綁定至資料上下文中的 UserName 屬性。 Avalonia 支援各種不同用途的控制項,例如 ListBox、DataGrid 和 TreeView。
將 IronPDF 與 Avalonia UI 整合。
IronPDF 簡介

IronPDF Library Overview 是一個 .NET 函式庫,可輕鬆處理 PDF。 它允許開發人員以程式化的方式建立、編輯和擷取 PDF 內容。 IronPdf 的突出功能之一是它能夠使用 IronPDF 將 HTML 轉換為 PDF,這使得它在生成報告、發票或任何可以渲染為網頁的文件時非常有用。
使用案例:合併 IronPDF 與 Avalonia C#。
假設您正在使用 Avalonia 建立一個桌面應用程式,需要將發票產生為 PDF。 您的應用程式有一個設計精美的 HTML 發票範本,您想要動態填入詳細資料並儲存為 PDF。 這就是 IronPdf 發揮作用的地方。 透過整合 IronPdf,您可以渲染填入資料的 HTML 發票範本,並直接從 Avalonia 應用程式儲存。
程式碼範例:產生 PDF 發票
以下是一個綜合範例,說明如何實現此功能。 我們將建立一個帶有按鈕的簡單 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");
}
}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 文件並儲存。
結論

對於渴望在不犧牲 UI 品質或效能的情況下,將應用程式擴展至多方平台的開發人員而言,Avalonia 提供了令人信服的解決方案。 從瀏覽 Avalonia 文件開始,並加入社群,探索這個強大的 UI 框架如何提升您的 C# 開發專案。
如果您想要與 IronPDF 合併,那麼您可以試試 IronPDF 的 免費試用選項。 IronPDF 的定價從 $799 起。
常見問題解答
什麼是 Avalonia C#?
Avalonia C# 是一個跨平台 UI 框架,可讓開發人員建立可在 Windows、Linux 和 macOS 等多個平台上運行的應用程式。它提供統一的項目和控制模板,以簡化跨平台開發。
如何在C#中將HTML轉換為PDF?
您可以使用 IronPDF 的RenderHtmlAsPdf方法將 HTML 字串轉換為 PDF。您也可以使用RenderHtmlFileAsPdf將 HTML 檔案轉換為 PDF。
Avalonia 如何增強現有的 WPF 應用程式?
Avalonia 透過擴展現有 WPF 應用程式在多個平台上的覆蓋範圍來增強其功能,而無需進行成本高昂且風險巨大的重寫。
應用程式如何將視圖或資料匯出為 PDF?
透過使用 IronPDF,使用 Avalonia 建立的應用程式可以將視圖或資料匯出為 PDF,從而增強其功能,使其能夠產生、編輯和提取 PDF 內容。
如何為 Avalonia 設定開發環境?
要為 Avalonia 設定開發環境,您需要安裝 Visual Studio 或 JetBrains Rider,並新增 Avalonia Visual Studio 擴充功能。此擴充功能提供專案模板和 XAML 預覽器。
如何創建您的第一個 Avalonia 應用程式?
要建立您的第一個 Avalonia 應用程序,請打開您的 IDE,選擇 Avalonia 專案模板,並建立預設設定。運行專案即可查看您的第一個 Avalonia 應用程式的實際效果。
什麼是 XAML?它在 Avalonia 中是如何使用的?
XAML是Avalonia中用於使用者介面設計的標記語言。它定義了使用者介面元素,並允許輕鬆地設計和調整使用者介面。
Avalonia 如何支援樣式和控制模板?
Avalonia 提供了一個靈活的樣式系統,讓使用者可以定義應用程式的外觀和風格。它支援自訂控制模板,以實現一致的設計,並能應對主題和動畫等複雜場景。
Avalonia 中的資料綁定是如何運作的?
Avalonia 中的資料綁定將 UI 元素與資料來源連接起來,從而實現動態更新。它支援多種控件,例如 ListBox、DataGrid 和 TreeView,以適應不同的資料場景。
在 Avalonia 應用程式中,產生 PDF 的應用程式場景是什麼?
在 Avalonia 應用程式中產生 PDF 的一個用例是根據 HTML 範本建立 PDF 發票。這可以透過整合 IronPDF 來實現,IronPDF 可以將 HTML 渲染為 PDF 並保存,從而增強應用的功能。
開發者如何開始使用 Avalonia 並整合 PDF 功能?
開發人員可以透過 NuGet 在專案中安裝 Avalonia 和 IronPDF 軟體包,使用 Avalonia 文檔,並嘗試 IronPDF 的免費試用選項來探索合併功能,從而開始使用。







