A multi-platform .NET UI framework
Switch branches/tags
Clone or download
danwalmsley Merge pull request #2111 from AvaloniaUI/fixes/popup-obey-screen-edge…

fix SnapInsideScreenEdges so that it obeys screen scaling.
Latest commit 090f891 Nov 17, 2018
Failed to load latest commit information.
.github Added PR template. May 3, 2018
.ncrunch Remove old NCrunch files. Oct 28, 2018
build bump version number. Oct 30, 2018
native/Avalonia.Native Fixed some OS threading issues Nov 17, 2018
packages/Avalonia Separate previewer properties Oct 30, 2018
samples Merge branch 'master' into dialogs-rework Nov 15, 2018
scripts update replace script to include avalonia.native. Nov 17, 2018
src Merge branch 'master' into fixes/popup-obey-screen-edges-dpi Nov 17, 2018
tests Register cursor factory for tests Nov 16, 2018
tools Updated Cake and script tools and addins Oct 23, 2018
.editorconfig Use modified .editorconfig from corefx Jul 7, 2018
.gitattributes Initial commit Dec 5, 2013
.gitignore Update gitignore. Oct 28, 2018
.gitmodules Remove HtmlRenderer from the Avalonia repository and move it to the A… May 27, 2018
.travis.yml Install castxml Oct 23, 2018
Avalonia.sln suggested changes Oct 30, 2018
Avalonia.sln.DotSettings Initial remote XAML previewer implementation Sep 23, 2017
Avalonia.v3.ncrunchsolution Ensure correct thread for AvaloniaProperty access. Mar 5, 2017
Directory.Build.props Enable generating NuGet packages via the MSBuild Pack target. Oct 28, 2018
NuGet.Config Added cake build scripts Aug 16, 2016
Settings.StyleCop Stylecop fixes. Dec 4, 2014
appveyor.yml Switch Cake to use a dirs.proj traversal project to simplify the solu… Aug 16, 2018
azure-pipelines.yml Always run PublishTestArtifacts unless the build was canceled. Oct 30, 2018
build-native.sh Add C++11 override specifier to be explicit about overrides Oct 28, 2018
build.cake print isrelease branch. Oct 30, 2018
build.ps1 Renamed Mono sln Config to NetCoreOnly. Jan 27, 2018
build.sh Update build.sh Aug 26, 2016
cake.config Get leak tests running again in the build script. They were removed a… Jun 6, 2018
dirs.proj Fix package versions. Oct 28, 2018
global.json Fix package versions. Oct 28, 2018
licence.md Added licence.md Dec 9, 2014
parameters.cake fix local cake script build Nov 2, 2018
readme.md Update readme.md Oct 26, 2018



Gitter Chat Build Status (Win, Linux, OSX) Appveyor Build Status Open Collective
Gitter Build Status Build status Backers on Open Collective Sponsors on Open Collective


Avalonia is a WPF-inspired cross-platform XAML-based UI framework providing a flexible styling system and supporting a wide range of OSs: Windows (.NET Framework, .NET Core), Linux (GTK), MacOS, Android and iOS.

Avalonia is currently in beta which means that the framework is generally usable for writing applications, but there may be some bugs and breaking changes as we continue development.

Control catalog Desktop platforms Mobile platforms

Getting Started

Avalonia Visual Studio Extension contains project and control templates that will help you get started. After installing it, open "New Project" dialog in Visual Studio, choose "Avalonia" in "Visual C#" section, select "Avalonia .NET Core Application" and press OK (screenshot). Now you can write code and markup that will work on multiple platforms!

For those without Visual Studio, starter guide for .NET Core CLI can be found here.

Avalonia is delivered via NuGet package manager. You can find the packages here: (stable(ish), nightly)

Use these commands in Package Manager console to install Avalonia manually:

Install-Package Avalonia
Install-Package Avalonia.Desktop

Bleeding Edge Builds

Try out the latest build of Avalonia available for download here: https://ci.appveyor.com/project/AvaloniaUI/Avalonia/branch/master/artifacts

or use nightly build feeds as described here: https://github.com/AvaloniaUI/Avalonia/wiki/Using-nightly-build-feed


As mentioned above, Avalonia is still in beta and as such there's not much documentation yet. You can take a look at the getting started page for an overview of how to get started but probably the best thing to do for now is to already know a little bit about WPF/Silverlight/UWP/XAML and ask questions in our Gitter room.

There's also a high-level architecture document that is currently a little bit out of date, and I've also started writing blog posts on Avalonia at http://grokys.github.io/.

Contributions are always welcome!

Building and Using

See the build instructions here.


Please read the contribution guidelines before submitting a pull request.


This project exists thanks to all the people who contribute. [Contribute].


Thank you to all our backers! 🙏 [Become a backer]


Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]