
Avalonia C# (Comment ça fonctionne pour les développeurs) | IronPDF
Avalonia C# est un cadre d'interface utilisateur multiplateforme, offrant aux développeurs des modèles de projet et de contrôle unifiés pour créer des applications qui fonctionnent sans problème sur plusieurs plateformes. Il permet aux développeurs de créer des applications qui fonctionnent sur Windows, Linux, macOS, et plus encore. Cela en fait un outil précieux pour ceux qui cherchent à développer des applications qui atteignent un large public.
Avec Avalonia, la création d'applications de bureau multiplateformes devient plus simple. Le cadre prend en charge une variété de plateformes. Cette fonctionnalité de compatibilité améliore les applications WPF existantes en étendant leur portée à travers les plateformes sans nécessiter de réécritures coûteuses et risquées.
IronPDF Features est une bibliothèque qui permet aux développeurs de générer des PDFs dans des applications .NET. Lorsque intégré avec Avalonia, il permet la création d'applications qui peuvent exporter des vues ou des données en PDF. Cela ajoute des fonctionnalités précieuses à vos applications multiplateformes.
En combinant Avalonia avec IronPDF, les développeurs disposent d'un ensemble puissant d'outils. Ces outils permettent le développement d'applications sophistiquées. Ces applications peuvent avoir des interfaces utilisateur riches et la capacité de générer des documents PDF.
Commencer avec Avalonia C#
Configuration de votre environnement de développement
Pour commencer à développer avec Avalonia, vous devez configurer votre environnement de développement. Vous pouvez utiliser Visual Studio ou JetBrains Rider comme votre IDE. Installez d'abord Visual Studio ou JetBrains Rider. Ensuite, ajoutez l'extension Avalonia Visual Studio à votre IDE. Cette extension fournit des modèles de projet et un aperçu XAML. Il améliore votre expérience de développement.
Pour ceux qui passent de projets WPF multiplateformes, Avalonia C# offre un processus de développement familier, avec accès à des liens externes et des ressources soutenues par la .NET Foundation.
Votre première application Avalonia
Créer votre première application Avalonia est simple. Ouvrez votre IDE et sélectionnez le modèle de projet Avalonia. Cela crée un nouveau projet avec la configuration Avalonia par défaut. Le projet comprend une fenêtre principale et une configuration de base. Exécutez le projet pour voir votre première application Avalonia en action. Vous avez maintenant commencé votre voyage avec Avalonia C#.

Explorer les fonctionnalités de l'UI Avalonia
Comprendre Avalonia UI et XAML
Avalonia UI utilise XAML pour la conception de son interface utilisateur. XAML est un langage de balisage qui définit les éléments UI. Voici un exemple simple de XAML dans une application 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>
Ce code crée une fenêtre avec un bloc de texte au centre. Le bloc de texte affiche "Hello, Avalonia !" XAML facilite la conception et l'ajustement de votre UI.
Style et modèles de contrôle
Avalonia se distingue par son système de style flexible et sa prise en charge de nombreux besoins en matière de design. Ce système vous permet de définir l'apparence de votre application. Vous pouvez personnaliser les modèles de contrôle pour un design cohérent. Voici comment vous pouvez définir un style simple pour un bouton :
<Window.Styles>
<Style Selector="Button">
<Setter Property="Background" Value="#007ACC"/>
<Setter Property="Foreground" Value="White"/>
</Style>
</Window.Styles>
Ce style modifie l'arrière-plan et la couleur du texte de tous les boutons de la fenêtre. Le système de style d'Avalonia prend en charge des scénarios complexes, y compris les thèmes et les animations.
Travailler avec les données et les contrôles
La liaison de données dans Avalonia permet la connexion de votre UI à vos sources de données. Voici un exemple basique de liaison de données :
<TextBox Text="{Binding UserName}"/>
Ce code lie la propriété Text de la TextBox à une propriété UserName dans votre contexte de données. Avalonia prend en charge une large gamme de contrôles pour différents usages, tels que ListBox, DataGrid, et TreeView.
Intégrer IronPDF avec Avalonia UI
Introduction à IronPDF

Présentation de la bibliothèque IronPDF est une bibliothèque .NET qui facilite le travail avec les PDFs. Elle permet aux développeurs de créer, éditer et extraire du contenu PDF par programmation. L'une des caractéristiques remarquables de IronPDF est sa capacité à convertir HTML en PDF avec IronPDF, ce qui le rend incroyablement utile pour générer des rapports, des factures, ou tout document pouvant être rendu comme une page web.
Use Case: Merging IronPDF with Avalonia C#
Imaginez que vous développez une application de bureau avec Avalonia qui doit générer des factures en PDF. Votre application possède un modèle de facture magnifiquement conçu en HTML, et vous souhaitez remplir les détails dynamiquement et l'enregistrer en tant que PDF. C'est là qu'intervient IronPDF. En intégrant IronPDF, vous pouvez rendre votre modèle de facture HTML avec les données remplies et l'enregistrer directement depuis votre application Avalonia.
Exemple de code : Générer une facture PDF
Voici un exemple complet qui montre comment vous pouvez mettre en œuvre cette fonctionnalité. Nous allons créer une fenêtre Avalonia simple avec un bouton. Lorsqu'il est cliqué, le bouton génère un PDF à partir d'une chaîne HTML (qui servira de notre modèle de facture) et l'enregistre sur votre ordinateur.
Tout d'abord, assurez-vous d'avoir installé les packages IronPDF et Avalonia dans votre projet. Sinon, vous pouvez les ajouter via NuGet.
Maintenant, codons :
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 ClassCe code définit une classe MainWindow pour la fenêtre principale de notre application. Le constructeur de la MainWindow initialise la fenêtre et configure un gestionnaire d'événements pour l'événement Click du bouton. La méthode OnGeneratePdfButtonClick gère l'événement de clic en utilisant la classe ChromePdfRenderer d'IronPDF pour rendre le HTML en document PDF et l'enregistrer.
Conclusion
Pour les développeurs désireux d'étendre la portée de leur application sur plusieurs plateformes sans sacrifier la qualité de l'UI ou les performances, Avalonia présente une solution convaincante. Commencez par visiter la documentation Avalonia et rejoignez la communauté pour explorer comment ce puissant cadre d'interface utilisateur peut élever vos projets de développement C#.
Si vous souhaitez le fusionner avec IronPDF, vous pouvez essayer les options d'essai gratuit d'IronPDF. Les prix pour IronPDF commencent à partir de $999.

Jacob Mellor est directeur de la technologie chez Iron Software et un ingénieur visionnaire pionnier de la technologie C# PDF. En tant que développeur à l'origine de la base de code centrale d'Iron Software, il a façonné l'architecture des produits de l'entreprise depuis sa création, la transformant aux côtés du PDG Cameron Rimington en une entreprise de plus de 50 personnes au service de la NASA, de Tesla et d'agences gouvernementales mondiales.
Articles connexes


