Plugin.Maui.Crosswind 1.0.0-preview7

This is a prerelease version of Plugin.Maui.Crosswind.
dotnet add package Plugin.Maui.Crosswind --version 1.0.0-preview7                
NuGet\Install-Package Plugin.Maui.Crosswind -Version 1.0.0-preview7                
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="Plugin.Maui.Crosswind" Version="1.0.0-preview7" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Plugin.Maui.Crosswind --version 1.0.0-preview7                
#r "nuget: Plugin.Maui.Crosswind, 1.0.0-preview7"                
#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.
// Install Plugin.Maui.Crosswind as a Cake Addin
#addin nuget:?package=Plugin.Maui.Crosswind&version=1.0.0-preview7&prerelease

// Install Plugin.Maui.Crosswind as a Cake Tool
#tool nuget:?package=Plugin.Maui.Crosswind&version=1.0.0-preview7&prerelease                

⚠️ This package is still in preview: Its functionality relies heavily on pending pull requests in the .NET MAUI repository, specifically #27180 Shadow support and #27529 Border support. As a result, some features may not work as expected until these changes are merged. However, all other functionalities in the package are fully operational.

Crosswind Logo

Plugin.Maui.Crosswind

Build

A utility-first design framework for .NET MAUI that brings the simplicity and flexibility of utility-based styling to XAML. Inspired by the likes of Tailwind CSS, Crosswind offers developers a streamlined way to create modern, consistent UIs. Perfect for rapid development and clean, maintainable design. By using the predefined style classes contained in this library, developers can:

  • Streamline styling: Quickly apply consistent styles across your app without duplicating code.
  • Increase productivity: Spend less time writing custom styles and more time building features.
  • Improve maintainability: Centralized and reusable styles to easily update designs and ensure consistency.

No more adding silly class names like list-inner-wrapper just to be able to style something, and no more agonizing over the perfect abstract name for something that’s really just a container.

Crosswind supports the following broad categories when it comes to styling:

Getting started

Using Crosswind isn't very complicated. It only requires that you call the initializer, e.g. from the constructor of your App. After that, all of the classes become available to you for use through the StyleClass property.

public App()
{
   InitializeComponent();

   CrosswindInitializer.Init();
   // Alternatively, also provide a CrosswindOptions object through CrosswindOptionsBuilder.
}

Custom configuration

Crosswind allows you to customize every aspect of its configuration through the CrosswindOptions, from spacing and sizing to colors and fonts. With its fluent API, you can override defaults, add new values, or define entirely custom palettes. Learn more about custom configuration in the extended documentation.

Crosswind in action

A picture is worth a thousand words, and seeing Crosswind in action can speak volumes about how it simplifies your UI styling. Below are examples of how you can create beautiful, consistent layouts in .NET MAUI using Crosswind classes. Each example includes a visual and the corresponding XAML code to show you just how easy it is to use.

// TODO

Is it perfect?

No, it is not perfect due to the fundamental differences between how XAML styling functions in .NET MAUI and how CSS operates. XAML styles in .NET MAUI are deeply tied to the framework's property system, which supports direct property binding and default value inheritance, while CSS is primarily designed for styling web elements and lacks the same level of integration with a declarative UI framework like .NET MAUI. Additionally, not all properties available in XAML have direct CSS equivalents, which means that some styling capabilities, such as animation properties, shadows, or borders, may not map cleanly or be supported at all when using CSS.

Learn more

Check out the wiki for a full reference of all supported classes.

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

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.0.0-preview7 34 2/6/2025
1.0.0-preview6 32 1/28/2025
1.0.0-preview5 34 1/21/2025