AIRoutine.CodeStyle.Uno
1.9.2
dotnet add package AIRoutine.CodeStyle.Uno --version 1.9.2
NuGet\Install-Package AIRoutine.CodeStyle.Uno -Version 1.9.2
<PackageReference Include="AIRoutine.CodeStyle.Uno" Version="1.9.2"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
<PackageVersion Include="AIRoutine.CodeStyle.Uno" Version="1.9.2" />
<PackageReference Include="AIRoutine.CodeStyle.Uno"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
paket add AIRoutine.CodeStyle.Uno --version 1.9.2
#r "nuget: AIRoutine.CodeStyle.Uno, 1.9.2"
#:package AIRoutine.CodeStyle.Uno@1.9.2
#addin nuget:?package=AIRoutine.CodeStyle.Uno&version=1.9.2
#tool nuget:?package=AIRoutine.CodeStyle.Uno&version=1.9.2
AIRoutine.CodeStyle.Uno
Strict C# code style rules for Uno Platform projects.
Installation
<PackageReference Include="AIRoutine.CodeStyle.Uno" Version="1.0.0" PrivateAssets="all" />
Features
Includes all rules from AIRoutine.CodeStyle.Common plus:
- XAML code-behind relaxations: Partial classes and event handlers
- IDE0051 relaxed: Unused private members common in XAML bindings
- Primary constructors optional: Traditional constructors preferred for ViewModels
- Top-level statements disabled: App.xaml.cs requires Program class structure
- No hardcoded colors: Validates that all colors are defined in ResourceDictionary
No Hardcoded Colors Rule
Following Uno Platform best practices, this package enforces that all colors must be defined in ResourceDictionary and referenced via StaticResource or ThemeResource.
What is detected
In XAML files:
- Hex colors:
Background="#FF0000",Color="#AARRGGBB" - Named colors:
Foreground="Red",Fill="Blue"
In C# files:
Colors.*usage (e.g.,Colors.Red)Color.FromArgb()/Color.FromRgb()callsnew SolidColorBrush(Colors.*)instantiations- Hex color strings:
Color.Parse("#FF0000")
What is allowed
- Colors defined in ResourceDictionary files (files containing
<ResourceDictionary>or named with "Resources", "Theme", "Colors", "Brushes") - Usage via
{StaticResource MyColor}or{ThemeResource MyColor} - Resource lookups in code:
Application.Current.Resources["MyColorBrush"]
Correct usage example
<Color x:Key="PrimaryColor">#FF6200EE</Color>
<SolidColorBrush x:Key="PrimaryBrush" Color="{StaticResource PrimaryColor}" />
<Button Background="{StaticResource PrimaryBrush}" />
// In code-behind
var brush = (SolidColorBrush)Application.Current.Resources["PrimaryBrush"];
Configuration
You can configure the color validation in your .csproj:
<PropertyGroup>
<UnoCodeStyleValidateColors>false</UnoCodeStyleValidateColors>
<UnoCodeStyleColorValidationSeverity>warning</UnoCodeStyleColorValidationSeverity>
</PropertyGroup>
Included Rules
All common rules plus Uno Platform specific configurations.
Learn more about Target Frameworks and .NET Standard.
This package has no dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.