Avalonia-Steuerelemente, die Avalonia Pro nicht mitliefert

sgcUI ergänzt eine Avalonia-12-Anwendung um einen Scheduler, ein Kanban-Board, ein Gantt-Diagramm, ein Pivot-Grid, einen Diagrammeditor, Dashboards, Assistenten, Karten und Berichte. Die Steuerelemente laufen innerhalb Ihrer Avalonia-App, neben den Avalonia-Steuerelementen und dem FluentTheme, und neben Avalonia-Pro-Steuerelementen, falls Sie diese verwenden. Für das Grid, das Diagramm, den PDF-Viewer und den Rich-Text-Editor bietet sgcUI zusätzlich ein zweites Lizenzmodell. Dieses Kit zeigt beides, mit XAML aus einem Beispiel, das sich kompilieren lässt und seinen Selbsttest besteht.

Teams, die Desktop-Apps mit Avalonia bauen

Sie behalten Avalonia, sein Theme, seine Werkzeuge und Ihre View-Modelle. sgcUI ist eine Sammlung von Steuerelementen, die Sie hinzufügen, kein Framework, zu dem Sie wechseln.

Sie verwenden Avalonia Pro

Behalten Sie Ihr Abonnement und ergänzen Sie die Steuerelemente, die auf der Avalonia-Pro-Seite nicht aufgeführt sind: Scheduler, Gantt, Kanban, Pivot-Grid, Diagram, Dashboard, Wizard, Karten und Berichte. Sie teilen das XAML-Präfix sgc, binden an Ihre View-Modelle und folgen der Fluent-Themevariante Ihrer App.

Sie wählen eine kostenpflichtige Stufe

Wenn Ihr Team durch die Änderung an der Community-Stufe nun eine kostenpflichtige Avalonia-Stufe für Premium-Steuerelemente braucht, vergleichen Sie die Optionen. sgcUI hat ein eigenes Grid, Diagramm, einen PDF-Viewer und einen Rich-Text-Editor für Avalonia, lizenziert pro Entwickler mit vollständigem C#-Quellcode, und dieselben Steuerelemente für WinForms und WPF in derselben Lizenz.

Was sich bei Avalonia geändert hat: In einem Beitrag vom 7. April 2026 kündigte Avalonia an: "Today, alongside the release of Avalonia 12, we're retiring the Avalonia Accelerate brand entirely." Derselbe Beitrag sagt: "The Community tier is moving to non-commercial use only", wobei die Änderung für neue Anmeldungen am selben Tag und für bestehende Community-Abonnenten in den folgenden Wochen wirksam wird. Organisationen, die die Community-Stufe kommerziell nutzten und nach den ursprünglichen Bedingungen berechtigt waren (unter EUR 1 Million Jahresumsatz), erhalten 50 % Übergangsrabatt auf eine Organisationslizenz, und bestehende Accelerate-Abonnenten behalten ihr Abonnement und ihre Preise. Auf der Avalonia-Preisseite (gelesen am 20.10.2026) bleibt das Framework selbst ein kostenloses "MIT licensed UI framework", Plus kostet EUR 299 pro Platz und Jahr, Pro EUR 899 pro Platz und Jahr, und Enterprise beginnt bei EUR 21.000 pro Jahr mit drei enthaltenen Plätzen. Die Preise verstehen sich ohne MwSt., und die Seite hält fest: "Seats are for developers doing UI work, not the whole team."

Steuerelement für Steuerelement

Die Spalte Avalonia Pro nennt, was die Avalonia-Seiten aufführen, gelesen am 20.10.2026. "Nicht aufgeführt" heißt nur, dass das Steuerelement auf der Avalonia-Pro-Seite nicht genannt wird.

Steuerelement Avalonia Pro sgcUI-Avalonia-Steuerelement sgcUI-Produkt, .NET-Edition
Scheduler (Kalender)auf der Avalonia-Pro-Seite nicht aufgeführtTsgcAvaloniaSchedulersgcPlanner, .NET Enterprise
Ganttauf der Avalonia-Pro-Seite nicht aufgeführtTsgcAvaloniaGanttsgcPlanner, .NET Enterprise
Kanbanauf der Avalonia-Pro-Seite nicht aufgeführtTsgcAvaloniaKanbansgcPlanner, .NET Enterprise
Pivot-Gridauf der Avalonia-Pro-Seite nicht aufgeführtTsgcAvaloniaPivotGrid, TsgcAvaloniaPivotFieldListsgcPivotGrid, .NET Enterprise
Diagramauf der Avalonia-Pro-Seite nicht aufgeführtTsgcAvaloniaDiagramViewsgcDiagram, .NET Enterprise
Dashboardauf der Avalonia-Pro-Seite nicht aufgeführtTsgcAvaloniaDashboard, TsgcAvaloniaDashboardTile, TsgcAvaloniaKPICardsgcDashboard, .NET Professional
Wizardauf der Avalonia-Pro-Seite nicht aufgeführtTsgcAvaloniaWizard, TsgcAvaloniaSteppersgcWizard, .NET Enterprise
Kartenauf der Avalonia-Pro-Seite nicht aufgeführtTsgcAvaloniaMapsgcMaps, .NET Enterprise
Berichteauf der Avalonia-Pro-Seite nicht aufgeführtTsgcAvaloniaReportDesigner, TsgcAvaloniaReportPreviewsgcReports, .NET Enterprise
Gaugeseine Kategorie "Gauge" auf der Charts-SeiteTsgcAvalonia<Kind>GaugesgcGauges, .NET Professional
DatengridTree DataGrid (Avalonia.Controls.TreeDataGrid), mit flachem und hierarchischem ModusTsgcAvaloniaGrid, TsgcAvaloniaGridColumnsgcGrid, .NET Standard
DiagrammeCharts (Avalonia.Controls.Charts), "70+ chart types"TsgcAvaloniaChart, TsgcAvaloniaChartSeries, TsgcAvaloniaChartAxissgcCharts, .NET Professional
PDF-ViewerPDF Viewer (Avalonia.Controls.PdfViewer)TsgcAvaloniaPDFViewer, TsgcAvaloniaPDFThumbnailView, TsgcAvaloniaPDFOutlineView; sgcPDF erstellt, bearbeitet und signiert außerdem PDF-DateiensgcPDF, .NET Enterprise
Rich-Text-EditorRich Text Editor (Avalonia.Controls.RichTextEditor)TsgcAvaloniaRichEdit; JSON, HTML, Markdown und RTF lesen und schreibensgcRichEdit, .NET Enterprise (nur Registered)
Markdown-Viewerjakein eigener Viewer; TsgcAvaloniaRichEdit liest Markdown 
Media-Playerjanein 
Bildschirmtastaturjanein 

Jedes der oben genannten Produkte wird auch als einzelnes Paket verkauft. Bei Avalonia sagt die Charts-Seite, Pro "carries all seven premium components, 70+ chart types and the advanced tooling" und "Nothing on this page is a separate purchase."

Zwei Lizenzmodelle im Vergleich

Stand 20.10.2026. Die Avalonia-Preise stammen von der Avalonia-Preisseite, die sgcUI-Preise von der sgcUI-Preisseite.

  Avalonia Pro sgcUI für .NET
ModellAbonnement pro Platz, jährliche oder monatliche AbrechnungLizenz pro Entwickler mit 1 Jahr Updates: Single, Team (2 Entwickler) oder Site (unbegrenzt)
PreisEUR 899 pro Platz und Jahr, ohne MwSt..NET Standard €380, .NET Professional €529, .NET Enterprise €699 pro Entwickler
Einzelproduktenicht einzeln verkauftzum Beispiel sgcGrid .NET €199, sgcCharts .NET €199, sgcDashboard .NET €199, sgcPlanner .NET €249, sgcPivotGrid .NET €249, sgcDiagram .NET €249, sgcPDF .NET €249, sgcRichEdit .NET €299
Verlängerungjährliches AbonnementVerlängerungsrabatt von 50% (Standard), 60% (Professional) und 70% (Enterprise)
Quellcodevollständiger Quellcode der Premium-Steuerelemente in Enterprisevollständiger C#-Quellcode in jeder Registered Edition und jedem Einzelpaket
Weitergabeauf den gelesenen Seiten nicht angegebenkostenlose Weitergabe der Binärdateien in jeder Edition
UI-PlattformenAvaloniaWinForms, WPF und Avalonia in jeder .NET-Edition
Kostenlose StufeCommunity, für neue Anmeldungen seit 2026-04-07 nur nicht kommerzielle NutzungCommunity-NuGet-Pakete, kostenlos in kommerziellen und nicht kommerziellen Projekten für Einzelpersonen oder Organisationen mit einem Jahresbruttoumsatz unter EUR 1.000.000 und höchstens fünf Entwicklern, mit Funktionsgrenzen je Produkt. Für sgcRichEdit und sgcMaps für .NET gibt es kein Community-Paket.

Die vier Steuerelemente des Beispiels, die auf der Avalonia-Pro-Seite nicht aufgeführt sind (Planner, Pivot-Grid, Diagram und Dashboard), gibt es zusammen in .NET Enterprise oder einzeln als Einzelpakete. Avalonia Plus und Pro enthalten außerdem Werkzeuge des Anbieters wie Hot Reload, DevTools und die Erweiterungen für Visual Studio und VS Code. sgcUI sind nur Komponenten, behalten Sie also die Avalonia-Stufe, die Ihr Team für die Werkzeuge braucht.

sgcUI in einem Avalonia-12-Fenster

Jeder Auszug stammt aus dem Beispiel AvaloniaProAlternative, einer Avalonia-12-App auf net8.0 mit kompilierten Bindungen und FluentTheme, das sich in Release für die Editionen Registered und Community mit 0 Warnungen in der Demo kompilieren lässt und seinen Selbsttest besteht. Hier steht kein Avalonia-Pro-Code: Diese Seite zeigt nur Code, der kompiliert wurde.

Ein XAML-Präfix für jedes Produkt

Jede sgcUI-Avalonia-Assembly ordnet ihre Steuerelemente einem Namespace-URI zu, sodass ein einziges Präfix sgc alle abdeckt, neben dem Avalonia-Standard-Namespace:

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">

Nicht auf der Avalonia-Pro-Seite aufgeführt: Scheduler und Kanban über einer Aufgabenliste

Beide Ansichten binden an dieselbe Tasks-Auflistung des View-Modells. TsgcAvaloniaPlannerItemFields ordnet die Mitglieder Ihrer eigenen Aufgabenklasse zu, und ein Ziehen in einer der beiden Ansichten schreibt Begin, End oder Stage in die Aufgabe zurück:

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>

Nicht aufgeführt: Pivot-Grid mit Feldliste

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}"/>

Nicht aufgeführt: ein Diagram aus einer Auflistung

Ein Organigramm aus der Auflistung Employees und ihrem Parent-Mitglied. NodesSource und LinksSource sind nur Registered, daher blendet der Community-Build des Beispiels diesen Tab aus.

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"/>

Nicht aufgeführt: ein Dashboard aus KPI-Karten und einem Diagramm

Kacheln in einem 12-Spalten-Raster, die jeweils eine KPI-Karte oder ein beliebiges Steuerelement hosten, an das View-Modell gebunden:

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>

Auch in Avalonia Pro: Grid, Diagramm, PDF-Viewer und Rich Text

Wenn Sie ein sich überschneidendes Steuerelement tauschen, ändert sich die Ansicht, und das View-Modell bleibt. Das Grid mit deklarierten Spalten und einem bidirektionalen SelectedItem:

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>

Ein Liniendiagramm über einer Datum-Uhrzeit-Achse:

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>

Ein PDF-Viewer mit Miniaturansichten, gebunden an ein TsgcPDFDocument des View-Modells:

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"/>

Das View-Modell baut das Dokument mit sgcPDF, speichert es im Speicher und parst es zurück, so wie ein aus einer Datei gelesenes Dokument den Viewer erreicht:

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;
}

Der Rich-Text-Editor, als Markdown-Text gebunden (sgcRichEdit ist nur 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"); }
    }
}

Das Theme bleibt, wo es ist

Die Anwendung behält FluentTheme. Die sgcUI-Steuerelemente folgen seiner Themevariante, hell, dunkel oder der Einstellung des Betriebssystems, und wechseln live mit den Fluent-Steuerelementen:

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;
    }
}

Sechs Schritte, um sgcUI in eine Avalonia-App einzubinden

Die App läuft nach jedem Schritt weiter. Nichts, was heute existiert, muss entfernt werden.

1

Die App so lassen, wie sie ist

Avalonia.Desktop, Avalonia.Themes.Fluent, Ihre MVVM-Basisklassen und alle Avalonia-Pro-Steuerelemente bleiben.

2

Die Pakete hinzufügen

Die Avalonia-Variante jedes benötigten Produkts, zum Beispiel esegece.sgcPlanner.Avalonia, esegece.sgcPivotGrid.Avalonia, esegece.sgcDiagram.Avalonia, esegece.sgcDashboard.Avalonia, esegece.sgcGrid.Avalonia, esegece.sgcCharts.Avalonia oder esegece.sgcPDF.Avalonia. Die kostenlosen Community-Pakete tragen das Suffix .Community, zum Beispiel esegece.sgcPlanner.Avalonia.Community.

3

Einen Namespace hinzufügen

Setzen Sie xmlns:sgc="https://www.esegece.com/sgcui" an jede Ansicht, die sgcUI verwendet. Ein Präfix deckt jedes Produkt ab.

4

Deklarieren und binden

Deklarieren Sie die Steuerelemente in XAML und binden Sie sie mit ItemsSource, SelectedItem und Feldzuordnungen wie TsgcAvaloniaPlannerItemFields an die bestehenden View-Modelle. Kompilierte Bindungen mit x:DataType funktionieren.

5

Das Theme in Ruhe lassen

Behalten Sie Styles.Add(new FluentTheme()). Die sgcUI-Steuerelemente folgen RequestedThemeVariant, weil sgcUIApplication.ThemeFollow standardmäßig utfHost ist.

6

Ein sich überschneidendes Steuerelement tauschen, wenn Sie möchten

Wenn Sie ein Grid, Diagramm, einen PDF-Viewer oder Rich-Text-Editor ersetzen, ändern Sie das Steuerelement in der Ansicht und behalten das View-Modell. Die zu bindenden Mitglieder stehen unten.

Avalonia-Pro-Paket sgcUI-Steuerelement und die zu bindenden Mitglieder
Avalonia.Controls.TreeDataGridTsgcAvaloniaGrid mit ItemsSource, SelectedItem, KeyMember, AutoGenerateColumns="False" und TsgcAvaloniaGridColumn (FieldName, Caption, DataType, DisplayFormat, Alignment)
Avalonia.Controls.ChartsTsgcAvaloniaChart mit TsgcAvaloniaChartSeries (ItemsSource, XMember, YMember, SeriesKind) und TsgcAvaloniaChartAxis (Name, AxisType="catDateTime")
Avalonia.Controls.PdfViewerTsgcAvaloniaPDFViewer (Document oder Source, ZoomMode, PageIndex, PageCount) und TsgcAvaloniaPDFThumbnailView.Viewer
Avalonia.Controls.RichTextEditorTsgcAvaloniaRichEdit (DocumentText bidirektional, DocumentFormat refJSON, refHTML, refMarkdown, refRTF oder refText, PlainText)

Die linke Spalte nennt nur Pakete. Die Mitglieder von Avalonia Pro wurden nicht verglichen, planen Sie die Änderungen der Ansichten also anhand Ihres eigenen XAML.

Was Avalonia Pro hat und sgcUI nicht

Wenn Sie eines davon brauchen, behalten Sie dafür Avalonia Pro. sgcUI läuft daneben.

Bevor Sie planen

Editionsgrenzen und Namensgebung, die in einem Avalonia-Projekt wichtig sind.

AvaloniaProAlternative

Ein gewöhnliches Avalonia-12-Fenster mit FluentTheme, einer Theme-Auswahl und zwei Gruppen von Tabs: "Not in Avalonia Pro" (Scheduler und Kanban, Pivot-Grid, Diagram, Dashboard) und "Also in Avalonia Pro" (Grid, Diagramm, PDF-Viewer, Rich Text).

Wo sie liegt

In den sgcUI-.NET-Demos, Ordner Suite\AvaloniaProAlternative der Lösung sgcUI_Demos.sln, mit einer readme.html. Im Demo-Download referenziert das Projekt die sgcUI-NuGet-Pakete.

So starten Sie sie

dotnet build sgcUIAvaloniaProAlternative.csproj -c Release für die Registered Edition, und -p:SgcCommunity=true für die Community Edition, in der die Tabs Diagram und Rich text ausgeblendet sind. Starten Sie dann sgcUIAvaloniaProAlternative.exe.

Selbsttest

sgcUIAvaloniaProAlternative.exe /selftest [file.txt] zeigt jeden Tab, führt die Prüfungen aus, schreibt pro Prüfung eine PASS- oder FAIL-Zeile und beendet sich mit der Anzahl fehlgeschlagener Prüfungen. In der Registered Edition bestehen alle 52 Prüfungen und in der Community Edition alle 47.

Fairerweise gegenüber beiden: Avalonia ist das Framework, auf dem sgcUI läuft, und diese Seite bittet Sie nicht, es zu verlassen. Avalonia Pro bietet Ihnen Premium-Komponenten und Werkzeuge in einem Abonnement, und einige davon haben kein sgcUI-Gegenstück. sgcUI bietet Ihnen Steuerelemente für Planung, Analyse, Diagram, Dashboard, Wizard, Karten und Berichte, die auf der Avalonia-Pro-Seite nicht aufgeführt sind, dieselben Steuerelemente für WinForms und WPF sowie vollständigen Quellcode mit einer Lizenz pro Entwickler. Viele Teams werden beides nutzen. Zu Produkten und Editionen siehe die sgcUI-Produktseite.

Bestes Preis-Leistungs-Verhältnis: All-AccessAlle eSeGeCe-Produkte, inklusive Premium-Support, ab €1,059 pro Jahr.
All-Access-Preise ansehen

Fügen Sie noch heute das erste Steuerelement hinzu

Fügen Sie die kostenlosen Community-Pakete von NuGet hinzu oder die Registered-Pakete für alle Funktionen und vollständigen Quellcode, und öffnen Sie das Beispiel AvaloniaProAlternative neben Ihrer App.