ONEO.Manta
1.2026.1
dotnet add package ONEO.Manta --version 1.2026.1
NuGet\Install-Package ONEO.Manta -Version 1.2026.1
<PackageReference Include="ONEO.Manta" Version="1.2026.1" />
<PackageVersion Include="ONEO.Manta" Version="1.2026.1" />
<PackageReference Include="ONEO.Manta" />
paket add ONEO.Manta --version 1.2026.1
#r "nuget: ONEO.Manta, 1.2026.1"
#:package ONEO.Manta@1.2026.1
#addin nuget:?package=ONEO.Manta&version=1.2026.1
#tool nuget:?package=ONEO.Manta&version=1.2026.1
<p align="center"> <img src="source/icon.png" width="128" alt="Manta icon" /> </p>
Manta
English | 简体中文
Manta is a UI toolkit and MVVM framework for building cross-platform desktop applications on Avalonia. It provides themeable controls, an explicit MVVM runtime, and compile-time code generation.
Features
- A broad set of
M-prefixed controls, plus themed styles for supported Avalonia controls. - Light and dark themes built on the OKLch color space.
Model,ViewModel,WindowModelandDialogModelbase classes for the MVVM layer.- Attribute-based view registration that generates view creation at compile time.
- Region and tab navigation with
RegionManager<T>. - Modal dialogs with
DialogModel. - Type-safe language keys generated from YAML files.
Install
Manta targets .NET 10 and Avalonia 12. Packages are published to NuGet.org.
dotnet add package ONEO.Manta
dotnet add package ONEO.Manta.Generators
Add ONEO.Manta.Generators to use the [View<T>] and language-key generators.
Usage
Create the application entry point and subclass MApp:
using Avalonia;
using Manta;
static class Program
{
[STAThread]
public static void Main(string[] args)
{
MApp.Build<App>().StartWithClassicDesktopLifetime(args);
}
}
Register the theme and a main window model in the application:
<MApp xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="MyApp.App">
<MApp.Styles>
<MantaTheme />
</MApp.Styles>
</MApp>
sealed class App : MApp
{
public override void Initialize() => AvaloniaXamlLoader.Load(this);
protected override void OnInitialize(out MAppOptions options)
{
options = new() { MainModel = () => new Main_Model() };
}
}
Pair a view model with its view using the View attribute. The generator supplies CreateView, so the model only declares its bindings:
[View<Main>]
sealed partial class Main_Model : WindowModel
{
}
sealed partial class Main : MView
{
public Main() => InitializeComponent();
}
Read the architecture overview before extending the library.
Documentation
- ARCHITECTURE.md maps the projects and the boundaries between them.
- The architecture subjects explain the MVVM runtime, theming and localization in depth.
- CHANGELOG.md lists user-visible changes.
Development
Install the .NET 10 SDK. The .NET projects live under source/; run the commands from there:
cd source
dotnet build Manta.slnx
dotnet run --project MantaDemo
After editing a control's Design.PreviewWith block or theme files, regenerate the derived files:
dotnet run --project MantaPrepare
Release by pushing a v<major>.<minor>.<patch> tag. The release workflow publishes the packages to NuGet.org and creates the GitHub release. Publishing uses NuGet trusted publishing: the workflow exchanges its GitHub OIDC token for a short-lived API key, so only the NUGET_USER repository secret (your nuget.org username) is required, and a trusted publishing policy for release.yml must exist on nuget.org.
Contributor rules live in AGENTS.md.
Website
The marketing site lives in website/ and is built with React Router and shadcn/ui. The Website workflow deploys it to GitHub Pages.
cd website
bun install
bun run dev
See website/README.md for the build and deployment details.
License
Manta is released under the MIT license.
| Product | Versions 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. |
-
net10.0
- Avalonia.Desktop (>= 12.1.4)
- DynamicData (>= 9.4.33)
- System.IO.Hashing (>= 10.0.12)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.2026.1 | 120 | 10/14/2026 |