Des contrôles Avalonia que Avalonia Pro ne livre pas

sgcUI ajoute à une application Avalonia 12 un planificateur, un tableau Kanban, un diagramme de Gantt, un tableau croisé dynamique, un éditeur de diagrammes, des tableaux de bord, des assistants, des cartes et des états. Les contrôles s'exécutent dans votre application Avalonia, à côté des contrôles Avalonia et de FluentTheme, et à côté des contrôles Avalonia Pro si vous les utilisez. Pour la grille, le graphique, la visionneuse PDF et l'éditeur de texte enrichi, sgcUI propose aussi un second modèle de licence. Ce kit montre les deux, avec du XAML issu d'un exemple qui compile et réussit son autotest.

Les équipes qui développent des applications de bureau sur Avalonia

Vous gardez Avalonia, son thème, ses outils et vos modèles de vue. sgcUI est un ensemble de contrôles que vous ajoutez, pas un framework vers lequel vous migrez.

Vous utilisez Avalonia Pro

Gardez votre abonnement et ajoutez les contrôles qui ne figurent pas sur la page Avalonia Pro : planificateur, Gantt, Kanban, tableau croisé dynamique, diagramme, tableau de bord, assistant, cartes et états. Ils partagent le préfixe XAML sgc, se lient à vos modèles de vue et suivent la variante de thème Fluent de votre application.

Vous choisissez une offre payante

Si le passage au niveau Community signifie que votre équipe a désormais besoin d'une offre Avalonia payante pour les contrôles premium, comparez les options. sgcUI a sa propre grille, son propre graphique, sa propre visionneuse PDF et son propre éditeur de texte enrichi pour Avalonia, licenciés par développeur avec le code source C# complet, et les versions WinForms et WPF des mêmes contrôles dans la même licence.

Ce qui a changé chez Avalonia : dans un article daté du 7 avril 2026, Avalonia a annoncé « Aujourd'hui, avec la sortie d'Avalonia 12, nous retirons entièrement la marque Avalonia Accelerate. » Le même article indique « Le niveau Community passe à un usage non commercial uniquement », avec effet le jour même pour les nouvelles inscriptions et au cours des semaines suivantes pour les abonnés Community existants. Les organisations qui utilisaient le niveau Community commercialement et remplissaient ses conditions d'origine (moins de 1 million d'EUR de chiffre d'affaires annuel) se voient proposer une remise de transition de 50 % sur une licence d'organisation, et les abonnés Accelerate existants conservent leur abonnement et leurs tarifs. Sur la page de tarifs d'Avalonia (consultée le 2026-10-20), le framework lui-même reste un « framework d'interface sous licence MIT » gratuit, Plus coûte 299 EUR par siège et par an, Pro 899 EUR par siège et par an et Enterprise démarre à 21 000 EUR par an avec trois sièges inclus. Les prix s'entendent hors TVA, et la page précise que « les sièges sont destinés aux développeurs qui travaillent sur l'interface, pas à toute l'équipe ». (Citations traduites de l'anglais.)

Contrôle par contrôle

La colonne Avalonia Pro liste ce que nomment les pages d'Avalonia, consultées le 2026-10-20. « Non listé » signifie seulement que le contrôle ne figure pas sur la page Avalonia Pro.

Contrôle Avalonia Pro Contrôle sgcUI Avalonia Produit sgcUI, édition .NET
Planificateur (calendrier)non listé sur la page Avalonia ProTsgcAvaloniaSchedulersgcPlanner, .NET Enterprise
Ganttnon listé sur la page Avalonia ProTsgcAvaloniaGanttsgcPlanner, .NET Enterprise
Kanbannon listé sur la page Avalonia ProTsgcAvaloniaKanbansgcPlanner, .NET Enterprise
Tableau croisé dynamiquenon listé sur la page Avalonia ProTsgcAvaloniaPivotGrid, TsgcAvaloniaPivotFieldListsgcPivotGrid, .NET Enterprise
Diagrammenon listé sur la page Avalonia ProTsgcAvaloniaDiagramViewsgcDiagram, .NET Enterprise
Tableau de bordnon listé sur la page Avalonia ProTsgcAvaloniaDashboard, TsgcAvaloniaDashboardTile, TsgcAvaloniaKPICardsgcDashboard, .NET Professional
Assistantnon listé sur la page Avalonia ProTsgcAvaloniaWizard, TsgcAvaloniaSteppersgcWizard, .NET Enterprise
Cartesnon listé sur la page Avalonia ProTsgcAvaloniaMapsgcMaps, .NET Enterprise
Étatsnon listé sur la page Avalonia ProTsgcAvaloniaReportDesigner, TsgcAvaloniaReportPreviewsgcReports, .NET Enterprise
Jaugesune catégorie « Gauge » sur la page ChartsTsgcAvalonia<Kind>GaugesgcGauges, .NET Professional
Grille de donnéesTree DataGrid (Avalonia.Controls.TreeDataGrid), avec modes plat et hiérarchiqueTsgcAvaloniaGrid, TsgcAvaloniaGridColumnsgcGrid, .NET Standard
GraphiquesCharts (Avalonia.Controls.Charts), « plus de 70 types de graphiques »TsgcAvaloniaChart, TsgcAvaloniaChartSeries, TsgcAvaloniaChartAxissgcCharts, .NET Professional
Visionneuse PDFPDF Viewer (Avalonia.Controls.PdfViewer)TsgcAvaloniaPDFViewer, TsgcAvaloniaPDFThumbnailView, TsgcAvaloniaPDFOutlineView ; sgcPDF crée, modifie et signe aussi des fichiers PDFsgcPDF, .NET Enterprise
Éditeur de texte enrichiRich Text Editor (Avalonia.Controls.RichTextEditor)TsgcAvaloniaRichEdit ; JSON, HTML, Markdown et RTF en entrée et en sortiesgcRichEdit, .NET Enterprise (Registered uniquement)
Visionneuse Markdownouipas de visionneuse dédiée ; TsgcAvaloniaRichEdit lit le Markdown 
Lecteur multimédiaouinon 
Clavier à l'écranouinon 

Chaque produit ci-dessus est aussi vendu comme paquet individuel. Côté Avalonia, la page Charts indique que Pro « comprend les sept composants premium, plus de 70 types de graphiques et les outils avancés » et que « rien sur cette page n'est un achat séparé ».

Deux modèles de licence côte à côte

Au 2026-10-20. Les prix d'Avalonia viennent de la page de tarifs d'Avalonia, ceux de sgcUI de la page de tarifs sgcUI.

  Avalonia Pro sgcUI pour .NET
Modèleabonnement par siège, facturation annuelle ou mensuellelicence par développeur avec 1 an de mises à jour inclus : Single, Team (2 développeurs) ou Site (illimitée)
Prix899 EUR par siège et par an, hors TVA.NET Standard €380, .NET Professional €529, .NET Enterprise €699 par développeur
Produits individuelsnon vendus séparémentpar exemple sgcGrid .NET €199, sgcCharts .NET €199, sgcDashboard .NET €199, sgcPlanner .NET €249, sgcPivotGrid .NET €249, sgcDiagram .NET €249, sgcPDF .NET €249, sgcRichEdit .NET €299
Renouvellementabonnement annuelremise de renouvellement de 50 % (Standard), 60 % (Professional) et 70 % (Enterprise)
Code sourcecode source complet des contrôles premium dans Enterprisecode source C# complet dans chaque édition Registered et chaque paquet individuel
Redistributionnon précisée sur les pages consultéesredistribution binaire gratuite dans chaque édition
Plateformes d'interfaceAvaloniaWinForms, WPF et Avalonia dans chaque édition .NET
Offre gratuiteCommunity, usage non commercial uniquement pour les nouvelles inscriptions depuis le 2026-04-07Paquets NuGet Community, gratuits en projets commerciaux et non commerciaux pour un particulier ou une organisation dont le chiffre d'affaires brut annuel est inférieur à 1 000 000 EUR et qui compte au plus cinq développeurs, avec des limites de fonctions par produit. sgcRichEdit et sgcMaps pour .NET n'ont pas de paquet Community.

Les quatre contrôles de l'exemple qui ne figurent pas sur la page Avalonia Pro (planificateur, tableau croisé dynamique, diagramme et tableau de bord) sont réunis dans .NET Enterprise, ou un par un sous forme de paquets individuels. Avalonia Plus et Pro incluent aussi des outils de l'éditeur comme Hot Reload, DevTools et les extensions Visual Studio et VS Code. sgcUI ne contient que des composants, gardez donc l'offre Avalonia dont votre équipe a besoin pour les outils.

sgcUI dans une fenêtre Avalonia 12

Chaque extrait est copié de l'exemple AvaloniaProAlternative, une application Avalonia 12 sur net8.0 avec liaisons compilées et FluentTheme, qui compile en Release pour les éditions Registered et Community avec 0 avertissement dans la démo et réussit son autotest. Il n'y a ici aucun code Avalonia Pro : cette page ne montre que du code qui a été compilé.

Un seul préfixe XAML pour tous les produits

Chaque assembly sgcUI Avalonia associe ses contrôles à un seul URI d'espace de noms, si bien qu'un seul préfixe sgc les couvre tous, à côté de l'espace de noms par défaut d'Avalonia :

MainWindow.axaml
<Window xmlns="https://github.com/avaloniaui"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:sgc="https://www.esegece.com/sgcui"
        xmlns:vm="using:sgcUIAvaloniaPro"
        x:Class="sgcUIAvaloniaPro.MainWindow"
        x:DataType="vm:TMainViewModel"
        Title="sgcUI next to Avalonia 12: the controls Avalonia Pro does not ship" Width="1240" Height="820">

Non listé sur la page Avalonia Pro : planificateur et Kanban sur une même liste de tâches

Les deux vues se lient à la même collection Tasks du modèle de vue. TsgcAvaloniaPlannerItemFields associe les membres de votre propre classe de tâche, et un glisser dans l'une ou l'autre vue réécrit Begin, End ou Stage dans la tâche :

MainWindow.axaml
<sgc:TsgcAvaloniaScheduler x:Name="scheduler" ItemsSource="{Binding Tasks}"
                           ResourcesSource="{Binding People}" SelectedItem="{Binding Selected}">
  <sgc:TsgcAvaloniaScheduler.ItemFields>
    <sgc:TsgcAvaloniaPlannerItemFields IdField="Key" TitleField="Name" StartField="Begin"
                                       FinishField="End" ResourcesField="Owner" StatusField="Stage"/>
  </sgc:TsgcAvaloniaScheduler.ItemFields>
  <sgc:TsgcAvaloniaScheduler.ResourceFields>
    <sgc:TsgcAvaloniaPlannerResourceFields IdField="Code" NameField="Label"/>
  </sgc:TsgcAvaloniaScheduler.ResourceFields>
</sgc:TsgcAvaloniaScheduler>
<sgc:TsgcAvaloniaKanban x:Name="kanban" Grid.Row="1" Margin="0,8,0,0" ColumnSource="pkcList"
                        ItemsSource="{Binding Tasks}" ResourcesSource="{Binding People}"
                        SelectedItem="{Binding Selected}">
  <sgc:TsgcAvaloniaKanban.ItemFields>
    <sgc:TsgcAvaloniaPlannerItemFields IdField="Key" TitleField="Name" StartField="Begin"
                                       FinishField="End" ResourcesField="Owner" StatusField="Stage"/>
  </sgc:TsgcAvaloniaKanban.ItemFields>
  <sgc:TsgcAvaloniaKanban.ResourceFields>
    <sgc:TsgcAvaloniaPlannerResourceFields IdField="Code" NameField="Label"/>
  </sgc:TsgcAvaloniaKanban.ResourceFields>
  <sgc:TsgcAvaloniaKanban.Columns>
    <sgc:TsgcAvaloniaKanbanColumn StatusId="todo" Caption="To do"/>
    <sgc:TsgcAvaloniaKanbanColumn StatusId="doing" Caption="In progress"/>
    <sgc:TsgcAvaloniaKanbanColumn StatusId="done" Caption="Done"/>
  </sgc:TsgcAvaloniaKanban.Columns>
</sgc:TsgcAvaloniaKanban>

Non listé : tableau croisé dynamique avec liste de champs

MainWindow.axaml
<sgc:TsgcAvaloniaPivotGrid x:Name="pivot" ItemsSource="{Binding Sales}">
  <sgc:TsgcAvaloniaPivotField FieldName="Region" Area="pvaRow" Caption="Region"/>
  <sgc:TsgcAvaloniaPivotField FieldName="Channel" Area="pvaRow" Caption="Channel"/>
  <sgc:TsgcAvaloniaPivotField FieldName="Product" Area="pvaColumn" Caption="Product"/>
  <sgc:TsgcAvaloniaPivotField FieldName="Amount" Area="pvaData" Aggregation="pvfSum" Caption="Sales"/>
</sgc:TsgcAvaloniaPivotGrid>
<sgc:TsgcAvaloniaPivotFieldList x:Name="fieldList" Grid.Column="1" Margin="8,0,0,0"
                                PivotGrid="{Binding #pivot}"/>

Non listé : un diagramme construit à partir d'une collection

Un organigramme issu de la collection Employees et de son membre parent. NodesSource et LinksSource sont réservés à l'édition Registered, la version Community de l'exemple masque donc cet onglet.

Views\DiagramTab.axaml
<sgc:TsgcAvaloniaDiagramView x:Name="diagram"
                             NodesSource="{Binding Employees}" NodeKeyMember="Id" NodeLabelMember="Name"
                             NodeParentMember="ManagerId"
                             LinksSource="{Binding Links}" LinkFromMember="From" LinkToMember="To"
                             LinkLabelMember="Label"/>

Non listé : un tableau de bord de cartes KPI et un graphique

Des tuiles sur une grille de 12 colonnes, chacune hébergeant une carte KPI ou n'importe quel contrôle, liées au modèle de vue :

MainWindow.axaml
<sgc:TsgcAvaloniaDashboard x:Name="dashboard" Columns="12" RowHeight="110">
  <sgc:TsgcAvaloniaDashboardTile Title="Revenue" Col="0" Row="0" ColSpan="4" RowSpan="2">
    <sgc:TsgcAvaloniaKPICard x:Name="kpiRevenue" Title="Revenue this month" Value="{Binding Revenue}"
                             Trend="ktUp" FooterText="all channels"/>
  </sgc:TsgcAvaloniaDashboardTile>
  <sgc:TsgcAvaloniaDashboardTile Title="Orders" Col="4" Row="0" ColSpan="4" RowSpan="2">
    <sgc:TsgcAvaloniaKPICard x:Name="kpiOrders" Title="Orders" Value="{Binding Orders}"
                             Trend="ktUp" FooterText="this month"/>
  </sgc:TsgcAvaloniaDashboardTile>
  <sgc:TsgcAvaloniaDashboardTile Title="Support" Col="8" Row="0" ColSpan="4" RowSpan="2">
    <sgc:TsgcAvaloniaKPICard x:Name="kpiTickets" Title="Open tickets" Value="{Binding Tickets}"
                             Trend="ktDown" FooterText="help desk"/>
  </sgc:TsgcAvaloniaDashboardTile>
  <sgc:TsgcAvaloniaDashboardTile Title="Visits per day" Col="0" Row="2" ColSpan="12" RowSpan="3">
    <sgc:TsgcAvaloniaChart x:Name="chartVisits">
      <sgc:TsgcAvaloniaChartSeries ItemsSource="{Binding Visits}" XMember="Time" YMember="Value"
                                   Title="Visits" Color="#FF16A34A"/>
      <sgc:TsgcAvaloniaChart.Axes>
        <sgc:TsgcAvaloniaChartAxis Name="X" AxisType="catDateTime"/>
        <sgc:TsgcAvaloniaChartAxis Name="Y" Title="Visits"/>
      </sgc:TsgcAvaloniaChart.Axes>
    </sgc:TsgcAvaloniaChart>
  </sgc:TsgcAvaloniaDashboardTile>
</sgc:TsgcAvaloniaDashboard>

Aussi dans Avalonia Pro : grille, graphique, visionneuse PDF et texte enrichi

Lorsque vous remplacez un contrôle équivalent, la vue change et le modèle de vue reste. La grille avec colonnes déclarées et un SelectedItem bidirectionnel :

MainWindow.axaml
<sgc:TsgcAvaloniaGrid x:Name="grid" x:DataType="vm:TGridViewModel" Margin="8"
                      ItemsSource="{Binding Customers}" SelectedItem="{Binding Selected}"
                      KeyMember="Id" AutoGenerateColumns="False">
  <sgc:TsgcAvaloniaGridColumn FieldName="Id" Caption="Id" Width="60" DataType="gdtInteger"/>
  <sgc:TsgcAvaloniaGridColumn FieldName="Name" Caption="Customer" Width="220"/>
  <sgc:TsgcAvaloniaGridColumn FieldName="City" Caption="City" Width="140"/>
  <sgc:TsgcAvaloniaGridColumn FieldName="Balance" Caption="Balance" Width="130" DataType="gdtFloat"
                              DisplayFormat="#,##0.00" Alignment="gaRight"/>
</sgc:TsgcAvaloniaGrid>

Un graphique linéaire sur un axe date et heure :

MainWindow.axaml
<sgc:TsgcAvaloniaChart x:Name="chartPrice" x:DataType="vm:TChartViewModel" Margin="8">
  <sgc:TsgcAvaloniaChartSeries ItemsSource="{Binding Prices}" XMember="Time" YMember="Value"
                               Title="Price" Color="#FF2563EB"/>
  <sgc:TsgcAvaloniaChart.Axes>
    <sgc:TsgcAvaloniaChartAxis Name="X" AxisType="catDateTime" Title="Time"/>
    <sgc:TsgcAvaloniaChartAxis Name="Y" Title="Price"/>
  </sgc:TsgcAvaloniaChart.Axes>
</sgc:TsgcAvaloniaChart>

Une visionneuse PDF avec miniatures, liée à un TsgcPDFDocument du modèle de vue :

MainWindow.axaml
<sgc:TsgcAvaloniaPDFThumbnailView x:Name="pdfThumbs" Viewer="{Binding #pdfViewer}"/>
<sgc:TsgcAvaloniaPDFViewer x:Name="pdfViewer" Grid.Column="1" Margin="8,0,0,0"
                           Document="{Binding Document}" ZoomMode="zmFitWidth"/>

Le modèle de vue construit le document avec sgcPDF, l'enregistre en mémoire et le relit, comme le fait un document lu depuis un fichier avant d'atteindre la visionneuse :

ViewModels\TOverlapViewModels.cs
// a three page A4 report written with sgcPDF, saved to memory and parsed back,
// the way a document read from a file or a stream reaches the viewer
private static TsgcPDFDocument DoBuild()
{
    byte[] vBytes;
    using (TsgcPDFDocument oWriter = new TsgcPDFDocument())
    {
        for (int i = 1; i <= CS_PAGES; i++)
        {
            TsgcPDFPage oPage = oWriter.AddPage(595, 842);
            oPage.DrawRectangleFill(0, 772, 595, 70, 0.12, 0.23, 0.54);
            oPage.DrawTextColor("Quarterly report, page " + i + " of " + CS_PAGES, 50, 800,
                TsgcPDFStandardFont.sfHelveticaBold, 20, 1, 1, 1);
            oPage.DrawText("Built in code with sgcPDF (TsgcPDFDocument) and shown by TsgcAvaloniaPDFViewer.", 50,
                730, TsgcPDFStandardFont.sfHelvetica, 12);
            oPage.DrawText("Search, zoom, thumbnails and text selection work on it like on any PDF file.", 50,
                710, TsgcPDFStandardFont.sfHelvetica, 12);
            for (int k = 0; k < 6; k++)
                oPage.DrawRectangleFill(60 + k * 80, 420, 50, 40 + ((i * 3 + k * 5) % 9) * 25, 0.15, 0.39, 0.92);
            oPage.DrawRectangle(40, 40, 515, 712, 1.0);
        }
        using (MemoryStream oStream = new MemoryStream())
        {
            oWriter.SaveToStream(oStream);
            vBytes = oStream.ToArray();
        }
    }
    TsgcPDFDocument vResult = new TsgcPDFDocument();
    vResult.LoadFromBytes(vBytes);
    return vResult;
}

L'éditeur de texte enrichi, lié en texte Markdown (sgcRichEdit est réservé à l'édition Registered) :

Views\RichEditTab.axaml
<sgc:TsgcAvaloniaRichEdit x:Name="richEdit" Margin="8" DocumentFormat="refMarkdown"
                          DocumentText="{Binding Text}"/>
ViewModels\TOverlapViewModels.cs
public sealed class TRichTextViewModel : TViewModelBase
{
    private string FText =
        "# Release notes\n\nThe **sgcRichEdit** control is bound to this view model through " +
        "*DocumentText* in Markdown.\n\n- Styles, lists and tables\n- Links such as " +
        "[www.esegece.com](https://www.esegece.com)\n- HTML, RTF, Markdown and JSON in and out\n";

    /// <summary>The document as Markdown (DocumentFormat="refMarkdown"), written back on focus loss.</summary>
    public string Text
    {
        get { return FText; }
        set { DoSet(ref FText, value, "Text"); }
    }
}

Le thème reste en place

L'application garde FluentTheme. Les contrôles sgcUI suivent sa variante de thème, clair, sombre ou le réglage du système d'exploitation, et basculent en direct avec les contrôles Fluent :

Program.cs
public override void Initialize()
{
    // the existing host theme stays: the sgcUI controls follow its theme variant
    Styles.Add(new FluentTheme());
    RequestedThemeVariant = ThemeVariant.Default;
}
ViewModels\TOverlapViewModels.cs
/// <summary>0 Follow host (RequestedThemeVariant Default), 1 Light, 2 Dark. The sgcUI controls
/// follow the Avalonia theme variant of the FluentTheme host (ThemeFollow utfHost).</summary>
public int ModeIndex
{
    get { return FModeIndex; }
    set
    {
        if (value < 0 || value > 2 || !DoSet(ref FModeIndex, value, "ModeIndex"))
            return;
        sgcUIApplication.ThemeFollow = TsgcUIThemeFollow.utfHost;
        sgcUIApplication.SetTheme(TsgcUITheme.utDefault);
        if (Application.Current != null)
            Application.Current.RequestedThemeVariant = value == 1 ? ThemeVariant.Light :
                value == 2 ? ThemeVariant.Dark : ThemeVariant.Default;
    }
}

Six étapes pour ajouter sgcUI à une application Avalonia

L'application continue de fonctionner après chaque étape. Rien de ce qui existe aujourd'hui n'a besoin d'être supprimé.

1

Garder l'application telle quelle

Avalonia.Desktop, Avalonia.Themes.Fluent, vos classes de base MVVM et les éventuels contrôles Avalonia Pro restent en place.

2

Ajouter les paquets

La version Avalonia de chaque produit dont vous avez besoin, par exemple esegece.sgcPlanner.Avalonia, esegece.sgcPivotGrid.Avalonia, esegece.sgcDiagram.Avalonia, esegece.sgcDashboard.Avalonia, esegece.sgcGrid.Avalonia, esegece.sgcCharts.Avalonia ou esegece.sgcPDF.Avalonia. Les paquets Community gratuits ajoutent le suffixe .Community, par exemple esegece.sgcPlanner.Avalonia.Community.

3

Ajouter un espace de noms

Placez xmlns:sgc="https://www.esegece.com/sgcui" sur chaque vue qui utilise sgcUI. Un seul préfixe couvre tous les produits.

4

Déclarer et lier

Déclarez les contrôles en XAML et liez-les aux modèles de vue existants avec ItemsSource, SelectedItem et des tables de champs comme TsgcAvaloniaPlannerItemFields. Les liaisons compilées avec x:DataType fonctionnent.

5

Laisser le thème tranquille

Gardez Styles.Add(new FluentTheme()). Les contrôles sgcUI suivent RequestedThemeVariant, car sgcUIApplication.ThemeFollow vaut utfHost par défaut.

6

Remplacer un contrôle équivalent, si vous le souhaitez

Là où vous remplacez une grille, un graphique, une visionneuse PDF ou un éditeur de texte enrichi, changez le contrôle dans la vue et gardez le modèle de vue. Les membres à lier sont listés ci-dessous.

Paquet Avalonia Pro Contrôle sgcUI et membres à lier
Avalonia.Controls.TreeDataGridTsgcAvaloniaGrid avec ItemsSource, SelectedItem, KeyMember, AutoGenerateColumns="False" et TsgcAvaloniaGridColumn (FieldName, Caption, DataType, DisplayFormat, Alignment)
Avalonia.Controls.ChartsTsgcAvaloniaChart avec TsgcAvaloniaChartSeries (ItemsSource, XMember, YMember, SeriesKind) et TsgcAvaloniaChartAxis (Name, AxisType="catDateTime")
Avalonia.Controls.PdfViewerTsgcAvaloniaPDFViewer (Document ou Source, ZoomMode, PageIndex, PageCount) et TsgcAvaloniaPDFThumbnailView.Viewer
Avalonia.Controls.RichTextEditorTsgcAvaloniaRichEdit (DocumentText bidirectionnel, DocumentFormat refJSON, refHTML, refMarkdown, refRTF ou refText, PlainText)

La colonne de gauche ne nomme que des paquets. Les membres d'Avalonia Pro n'ont pas été comparés, planifiez donc les changements de vue d'après votre propre XAML.

Ce qu'a Avalonia Pro et que sgcUI n'a pas

Si vous avez besoin de l'un de ces éléments, gardez Avalonia Pro pour cela. sgcUI s'exécute à côté.

Avant de planifier

Limites d'édition et conventions de nommage qui comptent dans un projet Avalonia.

AvaloniaProAlternative

Une fenêtre Avalonia 12 ordinaire avec FluentTheme, un sélecteur de thème et deux séries d'onglets : « Not in Avalonia Pro » (planificateur et Kanban, tableau croisé dynamique, diagramme, tableau de bord) et « Also in Avalonia Pro » (grille, graphique, visionneuse PDF, texte enrichi).

Où la trouver

Dans les démos .NET de sgcUI, dossier Suite\AvaloniaProAlternative de la solution sgcUI_Demos.sln, avec un readme.html. Dans le téléchargement des démos, le projet référence les paquets NuGet sgcUI.

Comment l'exécuter

dotnet build sgcUIAvaloniaProAlternative.csproj -c Release pour l'édition Registered, et ajoutez -p:SgcCommunity=true pour l'édition Community, où les onglets Diagram et Rich text sont masqués. Lancez ensuite sgcUIAvaloniaProAlternative.exe.

Autotest

sgcUIAvaloniaProAlternative.exe /selftest [file.txt] affiche chaque onglet, exécute les vérifications, écrit une ligne PASS ou FAIL par vérification et se termine avec le nombre de vérifications échouées. Les 52 vérifications réussissent dans l'édition Registered et les 47 dans l'édition Community.

Pour être juste envers les deux : Avalonia est le framework sur lequel sgcUI s'exécute, et cette page ne vous demande pas de le quitter. Avalonia Pro vous donne des composants premium et des outils dans un seul abonnement, et certains n'ont pas d'équivalent sgcUI. sgcUI vous donne des contrôles de planification, d'analyse, de diagramme, de tableau de bord, d'assistant, de carte et d'états qui ne figurent pas sur la page Avalonia Pro, les mêmes contrôles pour WinForms et WPF, et le code source complet avec une licence par développeur. Beaucoup d'équipes utiliseront les deux. Pour les produits et les éditions, consultez la page produit sgcUI.

Meilleur rapport qualité-prix : All-AccessTous les produits eSeGeCe, Support Premium inclus, à partir de €1,059/an.
Voir les tarifs All-Access

Ajoutez le premier contrôle dès aujourd'hui

Ajoutez les paquets Community gratuits depuis NuGet, ou les paquets Registered pour toutes les fonctions et le code source complet, et ouvrez l'exemple AvaloniaProAlternative à côté de votre application.