[![Build Status](https://worldbeater.visualstudio.com/Citrus.Avalonia/_apis/build/status/worldbeater.Citrus.Avalonia)](https://worldbeater.visualstudio.com/Citrus.Avalonia/_build/latest?definitionId=1) ![netstandard](https://img.shields.io/badge/.NET%20Standard-2.0-green.svg) [![nuget](https://img.shields.io/nuget/v/Citrus.Avalonia.svg)](https://www.nuget.org/packages/Citrus.Avalonia) [![downloads](https://img.shields.io/nuget/dt/citrus.avalonia)](https://www.nuget.org/packages/Citrus.Avalonia) ![License](https://img.shields.io/github/license/worldbeater/avalonia.citrus.svg) ![Size](https://img.shields.io/github/repo-size/worldbeater/avalonia.citrus.svg)
### Citrus
Avalonia experimental theme.
### Getting Started
The easiest way to get started is to install the library as a NuGet package:
```powershell
Install-Package Citrus.Avalonia
# Or 'dotnet add package Citrus.Avalonia'
```
Then, reference the preffered theme from your `App.xaml` file:
```xml
```
Done! Now the templates of all default controls are updated. See the [sandbox project](https://github.com/worldbeater/Citrus.Avalonia/blob/master/src/Citrus.Avalonia.Sandbox/MainWindow.xaml) for more examples. See [`StyleManager.cs`](https://github.com/worldbeater/Citrus.Avalonia/blob/master/src/Citrus.Avalonia.Sandbox/StyleManager.cs) to learn how to change color scheme at runtime.
### Getting Started without NuGet
Another way to get started is to add this repo as a [submodule](https://git-scm.com/book/en/v2/Git-Tools-Submodules) to your existing git repository:
```sh
mkdir ./external
git submodule add git@github.com:worldbeater/Citrus.Avalonia.git ./external/citrus
# Reference the ../external/citrus/src/Citrus.Avalonia/Citrus.Avalonia.csproj project then.
# The ../external/citrus/src/Citrus.Avalonia.Sandbox/Citrus.Avalonia.Sandbox.csproj is
# the sandbox where you can browse the markup samples.
```
### Technologies and Tools Used
- AvaloniaUI cross-platform XAML-based GUI framework
- ReactiveUI.Fody for MVVM implementation in the sandbox project
- ReactiveUI.Validation for `INotifyDataErrorInfo` validations
- JetBrains Rider cross-platform C# IDE