
Avalonia C# (jak to działa dla programistów)
Avalonia C# to wielopłatformowy framework UI, oferujący programistom jednolite szablony projektów i kontrolki do tworzenia aplikacji, które działają płynnie na wielu platformach. Pozwala programistom tworzyć aplikacje działające na Windows, Linux, macOS i więcej. Dzięki temu jest cennym narzędziem dla tych, którzy chcą rozwijać aplikacje docierające do szerokiej publiczności.
Z Avalonia tworzenie wielopłatformowych aplikacji desktopowych staje się prostsze. Framework obsługuje różnorodne platformy. Ta funkcja zgodności zwiększa zasięg istniejących aplikacji WPF na różne platformy bez konieczności kosztownych i ryzykownych przepisów.
IronPDF Features to biblioteka umożliwiająca programistom generowanie plików PDF w aplikacjach .NET. Po zintegrowaniu z Avalonia umożliwia tworzenie aplikacji, które mogą eksportować widoki lub dane do PDF. Dodaje to wartościową funkcjonalność do Twoich wielopłatformowych aplikacji.
Kombinując Avalonia z IronPDF, programiści mają potężny zestaw narzędzi. Te narzędzia umożliwiają rozwój zaawansowanych aplikacji. Te aplikacje mogą mieć bogate interfejsy użytkownika i możliwość generowania dokumentów PDF.
Rozpoczynanie z Avalonia C#
Konfiguracja środowiska programistycznego
Aby rozpocząć rozwój z Avalonia, należy skonfigurować swoje środowisko programistyczne. Można użyć Visual Studio lub JetBrains Rider jako IDE. Najpierw zainstaluj Visual Studio lub JetBrains Rider. Następnie dodaj Avalonia Visual Studio Extension do swojego IDE. To rozszerzenie zapewnia szablony projektów oraz podgląd XAML. To poprawia doświadczenie programistyczne.
Dla tych, którzy przechodzą z wielopłatformowych projektów WPF, Avalonia C# oferuje znajomy proces rozwoju, z pełnym dostępem do zewnętrznych linków i zasobów wspieranych przez .NET Foundation.
Twoja pierwsza aplikacja Avalonia
Tworzenie pierwszej aplikacji Avalonia jest łatwe. Otwórz swoje IDE i wybierz szablon projektu Avalonia. To tworzy nowy projekt z domyślną konfiguracją Avalonia. Projekt zawiera główne okno i podstawową konfigurację. Uruchom projekt, aby zobaczyć swoją pierwszą aplikację Avalonia w akcji. Teraz rozpocząłeś swoją podróż z Avalonia C#.

Odkrywanie funkcji UI Avalonia
Zrozumienie Avalonia UI i XAML
Avalonia UI wykorzystuje XAML do projektowania interfejsu użytkownika. XAML to język znaczników, który definiuje elementy UI. Oto prosty przykład użycia XAML w aplikacji Avalonia:
<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>
Ten kod tworzy okno z blokiem tekstu na środku. Blok tekstowy wyświetla "Hello, Avalonia!". Dzięki XAML łatwo jest projektować i dostosowywać swój UI.
Szablony stylizacji i kontrolki
Avalonia wyróżnia się, oferując elastyczny system stylizacji i wsparcie dla licznych potrzeb projektowych. Ten system pozwala zdefiniować wygląd i styl swojej aplikacji. Można dostosować szablony kontrolek dla spójnego projektu. Oto jak można zdefiniować prosty styl dla przycisku:
<Window.Styles>
<Style Selector="Button">
<Setter Property="Background" Value="#007ACC"/>
<Setter Property="Foreground" Value="White"/>
</Style>
</Window.Styles>
Ten styl zmienia tło i kolor tekstu wszystkich przycisków w oknie. System stylizacji Avalonia obsługuje skomplikowane scenariusze, w tym tematy i animacje.
Praca z danymi i kontrolkami
Powiązanie danych w Avalonia umożliwia połączenie UI z źródłami danych. Oto podstawowy przykład powiązania danych:
<TextBox Text="{Binding UserName}"/>
Ten kod wiąże właściwość Text kontrolki TextBox z właściwością UserName w kontekście danych. Avalonia obsługuje wiele różnych kontrolek do różnych celów, takich jak ListBox, DataGrid i TreeView.
Integracja IronPDF z Avalonia UI
Wprowadzenie do IronPDF

IronPDF Library Overview to biblioteka .NET, która ułatwia pracę z plikami PDF. Pozwala programistom tworzyć, edytować i wyodrębniać zawartość PDF programistycznie. Jedną z wyróżniających się funkcji IronPDF jest możliwość konwersji HTML do PDF z IronPDF, co czyni ją niezmiernie użyteczną do generowania raportów, faktur lub jakichkolwiek dokumentów, które mogą być wyświetlane jako strona internetowa.
Use Case: Merging IronPDF with Avalonia C#
Wyobraź sobie, że budujesz aplikację desktopową z Avalonia, która potrzebuje generować faktury jako pliki PDF. Twoja aplikacja ma pięknie zaprojektowany szablon faktury w HTML i chcesz dynamicznie wypełnić szczegóły oraz zapisać ją jako PDF. W tym miejscu do gry wkracza IronPDF. Integrując IronPDF, możesz renderować swój szablon faktury HTML z wypełnionymi danymi i zapisać go bezpośrednio z aplikacji Avalonia.
Przykład kodu: Generowanie faktury PDF
Poniżej znajduje się pełny przykład pokazujący, jak można zaimplementować tę funkcjonalność. Stworzymy prosty window Avalonia z przyciskiem. Po kliknięciu przycisk generuje PDF z łańcucha HTML (który będzie naszym szablonem faktury) i zapisuje go na twoim komputerze.
Najpierw upewnij się, że masz zainstalowane pakiety IronPDF i Avalonia w swoim projekcie. Jeśli nie, możesz je dodać przez NuGet.
Teraz, zajmijmy się kodowaniem:
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");
}
}Imports Avalonia
Imports Avalonia.Controls
Imports Avalonia.Interactivity
Imports Avalonia.Markup.Xaml
Imports IronPdf
Public Class MainWindow
Inherits Window
Public Sub New()
InitializeComponent()
' Attach development tools if in DEBUG mode
' #if DEBUG
Me.AttachDevTools()
' #endif
' Assign event handler for the button click event
AddHandler FindControl(Of Button)("GeneratePdfButton").Click, AddressOf OnGeneratePdfButtonClick
End Sub
Private Sub InitializeComponent()
' Load the XAML layout into the current window
AvaloniaXamlLoader.Load(Me)
End Sub
''' <summary>
''' Event handler for when the "Generate PDF" button is clicked.
''' Creates and saves a PDF file from an HTML string.
''' </summary>
Private Sub OnGeneratePdfButtonClick(ByVal sender As Object, ByVal e As RoutedEventArgs)
Dim Renderer = New ChromePdfRenderer()
' Render an HTML string as a PDF document
Dim 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(Me, "Invoice PDF generated successfully.", "Success")
End Sub
End ClassTen kod definiuje klasę MainWindow dla głównego okna aplikacji. Konstruktor MainWindow inicjuje okno i ustawia obsługę zdarzeń dla zdarzenia Click przycisku. Metoda OnGeneratePdfButtonClick obsługuje zdarzenie kliknięcia, używając klasy ChromePdfRenderer z IronPDF do renderowania HTML jako dokument PDF i zapisywania go.
Wnioski

Dla programistów, którzy pragną rozszerzyć zasięg swojej aplikacji na wiele platform bez uszczerbku dla jakości lub wydajności interfejsu użytkownika, Avalonia stanowi przekonującą rozwiązaniu. Rozpocznij od odwiedzenia dokumentacji Avalonia i dołącz do społeczności, by odkryć, jak ten potężny framework UI może podnieść Twoje projekty rozwoju C#.
Jeśli chcesz połączyć to z IronPDF, możesz wypróbować darmowe opcje próbne IronPDF. Ceny dla IronPDF zaczynają się od $999.

Jacob Mellor jest Chief Technology Officer w Iron Software i wizjonerskim inżynierem, pionierem technologii C# PDF. Jako pierwotny deweloper głównej bazy kodowej Iron Software, kształtuje architekturę produktów firmy od jej początku, przekształcając ją wspólnie z CEO Cameron Rimington w firmę liczącą ponad 50 osób, obsługującą NASA, Teslę i światowe agencje rządowe.
Powiązane artykuły


