跨平台的 .NET UI框架

Steven Kirk e98e70f34b Merge pull request #1168 from wieslawsoltes/UseDynamicResource %!s(int64=8) %!d(string=hai) anos
.ncrunch ea626a0e19 Updated ncrunch config %!s(int64=8) %!d(string=hai) anos
build 321fa38843 Merge branch 'master' into framework-path-override %!s(int64=8) %!d(string=hai) anos
docs 6252ef249e Updated build documentation %!s(int64=8) %!d(string=hai) anos
samples 8b0b0c1266 Merge branch 'master' into UseDynamicResource %!s(int64=8) %!d(string=hai) anos
scripts 4516982990 updated replace scripts. %!s(int64=8) %!d(string=hai) anos
src c68712e570 Merge branch 'master' into UseDynamicResource %!s(int64=8) %!d(string=hai) anos
tests a67f00af55 Merge branch 'master' into dispatcher-priority %!s(int64=8) %!d(string=hai) anos
tools daaf2fdd79 Use latest cake version %!s(int64=8) %!d(string=hai) anos
.editorconfig 0835ae6dda Added editorconfig %!s(int64=10) %!d(string=hai) anos
.gitattributes cd2b7530f5 Initial commit %!s(int64=12) %!d(string=hai) anos
.gitignore b013caee69 Add .idea to .gitignore %!s(int64=8) %!d(string=hai) anos
.gitmodules dff3031e20 Upgrade ReactiveUI to the v8 alpha nuget package so we don't need to maintain our own fork. Avalonia.ReactiveUI only registers the MainScheduler, and it does so via a call to UseReactiveUI on AppBuilder. %!s(int64=8) %!d(string=hai) anos
.travis.yml 017f8ee8b0 Specify osx_image %!s(int64=8) %!d(string=hai) anos
Avalonia.sln 3d3d4528f6 Burn, baby, BURN! %!s(int64=8) %!d(string=hai) anos
Avalonia.sln.DotSettings d5febb11d5 Apply FrameworkPathOverride automatically %!s(int64=8) %!d(string=hai) anos
Avalonia.v3.ncrunchsolution a46be4e200 Ensure correct thread for AvaloniaProperty access. %!s(int64=8) %!d(string=hai) anos
NuGet.Config 1d2be074d6 Added cake build scripts %!s(int64=9) %!d(string=hai) anos
Settings.StyleCop a833a5e883 Stylecop fixes. %!s(int64=11) %!d(string=hai) anos
appveyor.yml a63be30b5e Cache correct version %!s(int64=8) %!d(string=hai) anos
build.cake c9a5247d3f Rename local variable %!s(int64=8) %!d(string=hai) anos
build.ps1 07a8e2f987 Allow to skip unit tests from cake build %!s(int64=9) %!d(string=hai) anos
build.sh 9d40d5dc69 Update build.sh %!s(int64=9) %!d(string=hai) anos
licence.md 6993973731 Added licence.md %!s(int64=11) %!d(string=hai) anos
packages.cake 3d3d4528f6 Burn, baby, BURN! %!s(int64=8) %!d(string=hai) anos
parameters.cake b96b34f11e Fix skia file location. %!s(int64=8) %!d(string=hai) anos
readme.md 82b2028d8e Update readme.md %!s(int64=8) %!d(string=hai) anos

readme.md

Avalonia

Gitter Chat Windows Build Status Linux/Mac Build Status
Gitter Build status Build Status

A multi-platform .NET UI framework. It can run on Windows, Linux, Mac OS X, iOS and Android.

Desktop platforms:

Mobile platforms:

NuGet

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

You can install the package like this: Install-Package Avalonia -Pre

Bleeding Edge Builds

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

Try out the ControlCatalog to give it a quick demo.

Background

Avalonia is a multi-platform windowing toolkit - somewhat like WPF - that is intended to be multi- platform. It supports XAML, lookless controls and a flexible styling system, and runs on Windows using Direct2D and other operating systems using Skia and OS-specific windowing backend (GTK, Cocoa, etc).

Current Status

Avalonia is now in alpha. What does "alpha" mean? Well, it means that it's now at a stage where you can have a play and hopefully create simple applications. There's now a Visual Studio Extension containing project and item templates that will help you get started, and there's an initial complement of controls. There's still a lot missing, and you will find bugs, and the API will change, but this represents the first time where we've made it somewhat easy to have a play and experiment with the framework.

Documentation

As mentioned above, Avalonia is still in alpha 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

Contributing

Please read the contribution guidelines before submitting a pull request.