Jalium.UI.Xaml 26.10.3

dotnet add package Jalium.UI.Xaml --version 26.10.3
                    
NuGet\Install-Package Jalium.UI.Xaml -Version 26.10.3
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Jalium.UI.Xaml" Version="26.10.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Jalium.UI.Xaml" Version="26.10.3" />
                    
Directory.Packages.props
<PackageReference Include="Jalium.UI.Xaml" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Jalium.UI.Xaml --version 26.10.3
                    
#r "nuget: Jalium.UI.Xaml, 26.10.3"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Jalium.UI.Xaml@26.10.3
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Jalium.UI.Xaml&version=26.10.3
                    
Install as a Cake Addin
#tool nuget:?package=Jalium.UI.Xaml&version=26.10.3
                    
Install as a Cake Tool

Jalium.UI

Ask DeepWiki

Jalium.UI is a GPU-accelerated, cross-platform UI framework for .NET 10. It combines a WPF-style object model, JALXAML markup with Razor syntax extensions, and platform-native rendering backends (DirectX 12, Vulkan, Metal, Software).

Project Status

  • Active development — v26.10.0-preview (APIs can still evolve between minor versions)
  • Primary target: Windows 10/11 x64
  • Cross-platform: Android (arm64-v8a, x86_64), Linux (Vulkan), macOS (Metal)
  • Runtime target: .NET 10 (net10.0-windows, net10.0-android, net10.0)
  • Rendering: DirectX 12 (Windows), Vulkan (Linux/Android), Metal (macOS), Software fallback

Why Jalium.UI

  • GPU-native rendering pipeline with ClearType sub-pixel text rendering
  • Familiar programming model (DependencyObject, UIElement, panels, templates, resources)
  • JALXAML markup with Razor syntax extensions (@Path, @(expr), @{ ... }, @if)
  • Rich control library: 80+ controls including Charts, Ribbon, Docking, InkCanvas, WebView, Terminal
  • Build-time tooling via NuGet (Jalium.UI.Build, Jalium.UI.Xaml.SourceGenerator)
  • UIA accessibility support with automation peers
  • Visual effects: liquid glass, backdrop blur, acrylic, mica, transition shaders

Framework Composition

Managed Packages

Package Responsibility
Jalium.UI.Core Dependency property system, visual tree, layout, routed events, binding, animation
Jalium.UI.Media Brushes, geometry, drawing primitives, text formatting, imaging, visual effects
Jalium.UI.Input Mouse, keyboard, touch, stylus input abstractions and routing
Jalium.UI.Interop Managed/native bridge, P/Invoke, runtime native dependency packaging
Jalium.UI.Gpu GPU resource management, render graph, materials, shaders, backend abstraction
Jalium.UI.Controls Controls, panels, templates, windowing, themes, docking, charts
Jalium.UI.Xaml JALXAML parse/load pipeline, Razor syntax support, markup services
Jalium.UI.Build MSBuild tasks and build assets for JALXAML compilation workflow
Jalium.UI.Xaml.SourceGenerator Roslyn source generator for XAML/code-behind integration
Jalium.UI.Compiler Standalone jalxamlc.exe compiler tool
Jalium.UI Metapackage that references the full framework stack

Native Modules

Module Platforms Responsibility
jalium.native.core All Native core runtime, backend registry, context management
jalium.native.d3d12 Windows DirectX 12 render target and Vello GPU pipeline
jalium.native.vulkan Linux, Android Vulkan render backend
jalium.native.metal macOS Metal render backend
jalium.native.software All CPU-based software rendering fallback
jalium.native.platform All Platform abstraction (window, input, events)
jalium.native.text Linux, Android Cross-platform text engine (FreeType + HarfBuzz)
jalium.native.browser Windows WebView2 browser integration

Platform Packages

Package Target
Jalium.UI.Desktop net10.0-windows — Desktop distribution with native DLLs
Jalium.UI.Android net10.0-android — Android distribution with native .so libraries

Capability Overview

Layout and Visual Tree

  • Core panels: Grid, StackPanel, Canvas, DockPanel, WrapPanel, UniformGrid
  • Virtualization: VirtualizingStackPanel, DataGrid presenters/panels
  • Docking: DockLayout, DockSplitPanel, DockTabPanel, Split
  • Window-level layout host, overlay layer, title bar composition, chrome integration

Controls

  • Input: Button, TextBox, PasswordBox, NumberBox, AutoCompleteBox, ComboBox, Slider, CheckBox, RadioButton
  • Data: TreeView, DataGrid, TreeDataGrid, ListBox, ListView
  • Navigation: NavigationView, TabControl, Ribbon, CommandBar, MenuBar
  • Documents: FlowDocumentViewer, FlowDocumentReader, FlowDocumentScrollViewer, Markdown
  • Charts: Category, DateTime, Logarithmic axes with chart legend
  • Rich: InkCanvas, WebView/WebBrowser, EditControl, QRCode, TitleBar
  • Notifications: Toast-style notification system

Text Rendering

  • ClearType sub-pixel text rendering with dual-source blending
  • CPU rasterization fallback path
  • Cross-platform text shaping via FreeType + HarfBuzz (Linux/Android)

Input Pipeline

  • Pointer and keyboard routing with hit testing
  • Touch and stylus pathways with gesture recognition
  • Scroll and manipulation event handling

GPU Rendering & Effects

  • DirectX 12 with Vello GPU compute pipeline (path, clip, tile stages)
  • Backdrop effects: blur, acrylic, mica, frosted glass
  • Liquid glass with refraction, chromatic aberration
  • Transition shaders and element effects (blur, drop shadow)
  • Custom shader support via HLSL

Accessibility

  • UIA automation peers for core and specialized controls
  • Chart, DiffViewer, HexEditor, JsonTreeViewer, Map, PropertyGrid automation

Markup and Tooling

  • Runtime parsing: Jalium.UI.Markup.XamlReader
  • Build integration through packaged MSBuild targets/tasks
  • Source generator for compile-time JALXAML code-behind

Razor Syntax in JALXAML

JALXAML supports Razor-style syntax as additive sugar on top of existing {Binding ...}:

  • @Path
  • @(expr)
  • @{ ... }
  • mixed text templates (for string/object targets)
  • @if(expr){<Element />} block directives
  • escapes: @@ and \@

Binding source resolution is DataContext first, then code-behind fallback.

Update behavior:

  • Observable source (INotifyPropertyChanged / dependency property): real-time updates.
  • Non-observable CLR source: one-time evaluation at load.

For syntax details and rules, see docs/razor-syntax.md.

Installation

dotnet add package Jalium.UI

Platform-specific

# Windows Desktop
dotnet add package Jalium.UI.Desktop

# Android
dotnet add package Jalium.UI.Android

Granular install (advanced)

dotnet add package Jalium.UI.Core
dotnet add package Jalium.UI.Media
dotnet add package Jalium.UI.Input
dotnet add package Jalium.UI.Interop
dotnet add package Jalium.UI.Gpu
dotnet add package Jalium.UI.Controls
dotnet add package Jalium.UI.Xaml
dotnet add package Jalium.UI.Build
dotnet add package Jalium.UI.Xaml.SourceGenerator

Quick Start (C#)

using Jalium.UI.Controls;

var app = new Application();

var window = new Window
{
    Title = "Hello Jalium.UI",
    Width = 960,
    Height = 640,
    Content = new StackPanel
    {
        Margin = new Thickness(24),
        Children =
        {
            new TextBlock { Text = "Jalium.UI", FontSize = 28 },
            new TextBlock { Text = "GPU-accelerated .NET UI framework", Margin = new Thickness(0, 8, 0, 16) },
            new Button { Content = "Start" }
        }
    }
};

app.Run(window);

Quick Start (JALXAML runtime parse)

using Jalium.UI.Controls;
using Jalium.UI.Markup;

var app = new Application();

var xaml = """
<Window xmlns="https://jalium.dev/ui" Title="JALXAML Window" Width="800" Height="500">
  <Grid>
    <StackPanel Margin="20">
      <TextBlock Text="Hello from JALXAML" FontSize="24"/>
      <Button Content="Click" Margin="0,12,0,0"/>
    </StackPanel>
  </Grid>
</Window>
""";

var window = (Window)XamlReader.Parse(xaml);
app.Run(window);

Build From Source

Prerequisites

  • .NET 10 SDK (net10.0-windows)
  • Visual Studio with C++ workload (for native modules)
  • Vulkan SDK (optional, for Vulkan backend)
  • Android NDK (optional, for Android builds)

Build

# Build the full framework
dotnet build src/packaging/Jalium.UI/Jalium.UI.csproj -c Release

# Run tests
dotnet test tests/Jalium.UI.Tests/Jalium.UI.Tests.csproj -c Release

# Build native modules (in VS Developer Command Prompt)
msbuild src/native/Jalium.Native.sln /m /p:Configuration=Release /p:Platform=x64

# Build for Android
bash src/native/build-android-deps.sh  # FreeType + HarfBuzz
bash src/native/build-android.sh       # Native libraries

NuGet Packaging

dotnet pack src/packaging/Jalium.UI/Jalium.UI.csproj -c Release -o artifacts/nuget

For detailed build configuration, see docs/manual-build-configuration.md.

Repository Layout

Jalium.UI/
  src/
    managed/
      Jalium.UI.Core/          # Dependency property system, visual tree, layout
      Jalium.UI.Media/         # Brushes, geometry, drawing, text, imaging
      Jalium.UI.Input/         # Input abstractions and routing
      Jalium.UI.Interop/       # Native bridge and P/Invoke
      Jalium.UI.Gpu/           # GPU resources, render graph, shaders
      Jalium.UI.Controls/      # Controls, panels, themes, docking, charts
      Jalium.UI.Xaml/          # JALXAML parser and Razor support
      Jalium.UI.Build/         # MSBuild tasks for JALXAML compilation
      Jalium.UI.Xaml.SourceGenerator/  # Roslyn source generator
      Jalium.UI.Compiler/      # Standalone JALXAML compiler
    native/
      jalium.native.core/      # Native runtime core
      jalium.native.d3d12/     # DirectX 12 + Vello GPU backend
      jalium.native.vulkan/    # Vulkan backend
      jalium.native.metal/     # Metal backend (macOS)
      jalium.native.software/  # CPU software renderer
      jalium.native.platform/  # Platform abstraction layer
      jalium.native.text/      # FreeType + HarfBuzz text engine
      jalium.native.browser/   # WebView2 integration
    packaging/
      Jalium.UI/               # Main metapackage
      Jalium.UI.Desktop/       # Windows desktop package
      Jalium.UI.Android/       # Android package
  tests/
    Jalium.UI.Tests/           # xUnit test suite (70+ test classes)
    Jalium.UI.ShaderDemo/      # Shader effects demo
  docs/
    razor-syntax.md            # Razor syntax reference
    drawing-api.md             # Drawing API documentation
    manual-build-configuration.md  # Build configuration guide

Documentation

Document Description
docs/razor-syntax.md Razor syntax reference for JALXAML
docs/drawing-api.md Drawing API (DrawingContext, GPU effects, rendering)
docs/manual-build-configuration.md Manual build configuration guide

Visual Studio Extension Notes

The VSIX can be installed into either:

  • Normal instance: %LOCALAPPDATA%\Microsoft\VisualStudio\18.0_<instanceId>\Extensions
  • Experimental instance (/rootsuffix Exp): %LOCALAPPDATA%\Microsoft\VisualStudio\18.0_<instanceId>Exp\Extensions

If .jalxaml IntelliSense only shows raw XML suggestions, verify the extension is installed in the same instance you are using.

Compatibility Notes

  • Jalium.UI is not positioned as a drop-in WPF replacement yet.
  • API names and behavior are intentionally close to familiar WPF concepts, but differences exist.
  • Keep package versions aligned across all Jalium.UI.* packages.

Contributing

Issues and pull requests are welcome. For large changes, include:

  • Motivation and design summary
  • Behavioral impact/risk
  • Validation steps (tests or manual verification)

Community

For discussions, questions, or community support, you can join the QQ group:

QQ: 1079778999

License

MIT. See LICENSE.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (3)

Showing the top 3 NuGet packages that depend on Jalium.UI.Xaml:

Package Downloads
Jalium.UI

Jalium.UI is a modern GPU-accelerated UI framework for .NET. This metapackage includes all Jalium.UI components.

Jalium.UI.Desktop

Jalium.UI Windows Desktop integration package. References all Jalium.UI components built for Windows and adds Windows-only platform glue (system accent color sync, etc.).

Jalium.UI.Android

Jalium.UI Android entry package. References all Jalium.UI components built for Android, including native .so libraries.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
26.10.3 108 5/4/2026
26.10.2 112 4/27/2026
26.10.1 102 4/22/2026
26.10.1-preview.3 53 4/18/2026
26.10.1-preview.2 55 4/18/2026
26.10.1-preview.1 50 4/17/2026
26.10.0 96 4/16/2026
26.10.0-preview.4 55 4/7/2026
26.10.0-preview.3 51 4/7/2026
26.10.0-preview.2 51 4/7/2026
26.10.0-preview.1 56 4/7/2026
26.10.0-preview 93 4/7/2026
26.9.10 114 3/31/2026
26.9.9 102 3/31/2026
26.9.8 102 3/30/2026
26.9.7 93 3/30/2026
26.9.6 105 3/27/2026
26.9.5 95 3/26/2026
26.9.4 98 3/25/2026
26.9.3 100 3/24/2026
Loading failed