PRE-ALPHAv10.0.2

Cross-Platform C# UIWrite Once, Run Everywhere

CrossSharp is a modern C# UI library that lets you build native applications for Windows, Linux, macOS, Android, and iOS using a single codebase. Powered by SDL3 for high-performance rendering.

Windows
Linux
macOS
Android
iOS
17+
UI Controls
8
Built-in Themes
5
Platforms
.NET 10
Target Framework

Why CrossSharp?

A unified API for building desktop applications that look and feel native on every platform.

Write Once, Run Everywhere

Build your application with a single C# codebase. CrossSharp handles all platform differences behind the scenes - you just focus on your app.

SDL3-Powered Rendering

High-performance graphics rendering using SDL3 (Simple DirectMedia Layer) with hardware acceleration support across all platforms.

Powerful Theme System

8 built-in themes including Light, Dark, High Contrast, and custom LimitlessSoft themes. Full control over colors, spacing, and corner radius.

Rich Control Library

17+ ready-to-use controls: Forms, Layouts (Stacked, Flow, Tabbed), Buttons, Inputs, DataGrids, Charts, Dropdowns, Accordions, and more.

Modern .NET 10

Built on the latest .NET 10 framework with C# 12+ features, nullable reference types, and implicit usings for a modern development experience.

Unified Notifications

A single API for notifications across all platforms. Write notification code once and it works on Windows, Linux, macOS, Android, and iOS.

UI Controls

A comprehensive library of ready-to-use controls for building professional desktop applications.

Form

Main window container

ModularForm

Multi-page forms

StaticLayout

Absolute positioning

StackedLayout

Vertical/horizontal stacking

FlowLayout

Responsive wrapping

TabbedLayout

Tabbed navigation

Panel

Container control

Label

Text display

Button

Clickable with images

Input

Text input field

FilesPicker

Native file dialogs

Dropdown

Selection control

Accordion

Expandable sections

Chart

Data visualization

DataGrid

Tabular data display

ImagePreview

Image display

ThemePicker

Theme selection

How It Works

Write your code once in C#. CrossSharp takes care of making it work seamlessly on Windows, Linux, macOS, Android, and iOS.

One Codebase

Write your application logic, UI, and styling in a single C# project. No platform-specific code needed.

Native Performance

CrossSharp uses SDL3 for hardware-accelerated rendering, giving you native-level performance on every platform.

One Build, All Platforms

A single build command produces all files for Windows, Linux, macOS, Android, and iOS. Ship directly to any platform.

MainForm.cs
public class MainForm : Form
{
    public MainForm()
    {
        Title = "Hello CrossSharp";
        Width = 800;
        Height = 600;

        var button = new Button
        {
            Text = "Click Me!",
            Width = 120,
            Height = 40
        };

        button.Click += (s, e) =>
            Console.WriteLine("Clicked!");

        Controls.Add(button);
    }
}
dotnet build -c Release

One command generates everything you need

MyApp.exe
Windows
MyApp
Linux
MyApp.app
macOS
MyApp.apk
Android
MyApp.ipa
iOS

Each output is ready to ship — no additional configuration required

Getting Started

Get up and running with CrossSharp in just a few steps.

STEP 1

Install the Package

Add CrossSharp to your .NET project via NuGet.

dotnet add package CrossSharp
STEP 2

Create Your Application

Set up the application builder with your configuration.

var config = new BaseConfiguration()
{
    ApplicationName = "MyApp"
};
var builder = new ApplicationBuilder(config);
STEP 3

Run Your Form

Create a form class and run your application.

builder.Run<MainForm>();

Built-in Themes

CrossSharp comes with 8 professionally designed themes out of the box. Switch themes at runtime or create your own custom themes.

DefaultThemeLightThemeHighContrastThemeFlatBlueThemeFlatPinkThemeRoundedSpacedLightThemeRoundedSpacedDarkThemeLimitlessSoftTheme
// Apply a theme
form.Theme = new LightTheme();

// Or create your own
public class MyTheme : ThemeBase
{
    public MyTheme()
    {
        PrimaryColor = new ColorRgba(14, 165, 233);
        LayoutBackgroundColor = new ColorRgba(26, 39, 68);
        DefaultCornerRadius = 8;
    }
}