Zum Inhalt
Kuonen.UI
.NET 10 · AOT · eigene Darstellung

Oberflächen für .NET.
Überall gleich.

Kuonen.UI zeichnet jedes Control selbst – auf Windows, Linux, macOS, Android, iOS und im Browser pixelgleich. Oberflächen in C# oder KXAML, mit Live-Designer in Visual Studio Code.

WindowsLinuxmacOSAndroidiOSBrowser
Bestellung.kxaml
<StackPanel xmlns="https://ui.kuonen.org/kxaml"
            xmlns:x="https://ui.kuonen.org/kxaml/x"
            x:Class="Kasse.Bestellung" Spacing="12">
  <TextBlock Text="Neue Bestellung" FontSize="22" />
  <DatePicker SelectedDate="{Binding Lieferdatum}" />
  <DataGrid ItemsSource="{Binding Positionen}" />
  <Button Content="Bestellen" Click="Bestellen" />
  <TextBlock x:Name="Status" />
</StackPanel>

Alles aus einer Hand

Kein Browser-Steuerelement, keine Fremdbibliothek: Kuonen.UI bringt Rasterung, Text, Layout und Controls selbst mit – darum sieht eine Anwendung überall gleich aus und startet als einzelne native Datei.

Eigene Darstellung

Vektorgrafik, Text mit Formung und Bidi, Bilder und Themes – auf jeder Plattform dieselben Pixel.

AOT und Trimming

Keine Reflexion: Anwendungen werden nativ kompiliert, starten sofort und bleiben klein.

KXAML

XAML ohne Laufzeit-Parser: der Generator übersetzt beim Bauen in C#, mit Bindungen, Styles und Vorlagen.

Designer für VS Code

Live-Vorschau beim Tippen, Controls aus der Werkzeugkiste ablegen, Ereignisse per Doppelklick anlegen.

Barrierefrei

Bildschirmleser auf allen Plattformen: UI Automation, AT-SPI, NSAccessibility, TalkBack, VoiceOver, ARIA.

269 Controls und Bausteine

Von Button bis DataGrid, Kalender, Farbwahl und Dialogen – im Stil von Fluent, Adwaita, Breeze, macOS, Material und iOS.

So sieht Code aus

Die Oberfläche in KXAML, das Verhalten in C# – oder alles in C#. Beides wird zu gewöhnlichem, schnellem Code.

Bestellung.kxaml
<StackPanel xmlns="https://ui.kuonen.org/kxaml"
            xmlns:x="https://ui.kuonen.org/kxaml/x"
            x:Class="Kasse.Bestellung" Spacing="12">
  <TextBlock Text="Neue Bestellung" FontSize="22" />
  <DatePicker SelectedDate="{Binding Lieferdatum}" />
  <DataGrid ItemsSource="{Binding Positionen}" />
  <Button Content="Bestellen" Click="Bestellen" />
  <TextBlock x:Name="Status" />
</StackPanel>
Bestellung.kxaml.cs
public sealed partial class Bestellung
{
    public Bestellung() => InitializeComponent();

    private void Bestellen(object sender, RoutedEventArgs e) =>
        Status.Text = "Bestellung gespeichert";
}

In fünf Minuten zum ersten Fenster

Paketquelle eintragen, Host der Plattform einbinden, starten. Der Designer kommt als Erweiterung für VS Code dazu.