跨平台的 .NET UI框架

Nikita Tsukanov 4c1f42b48a PR comments 6 سال پیش
.github 801e7f7d61 Create FUNDING.yml 6 سال پیش
.ncrunch cd9e4ef543 Make ncrunch work again. 6 سال پیش
build 545053c7b1 Start fixing broken sample projects 6 سال پیش
native 9f16acbcc6 Fix url encoded path and filenames on Mac 6 سال پیش
nukebuild f1cc462abc implement MVVM style notifications. (Managed only) 6 سال پیش
packages 676688b3de Set PackageId for Avalonia.csproj 6 سال پیش
samples d39bc04dc9 Implemented WM_TOUCH support 6 سال پیش
scripts 7a03f3836a dont install osx sdk manually 6 سال پیش
src 4c1f42b48a PR comments 6 سال پیش
tests 4c1f42b48a PR comments 6 سال پیش
.editorconfig 5822e60db6 Fix ternary operator formatting, add config entry to the .editorconfig. 6 سال پیش
.gitattributes cd2b7530f5 Initial commit 12 سال پیش
.gitignore 15aa377769 ignore obj folder 6 سال پیش
.gitmodules f14aac365b WIP 6 سال پیش
.nuke f8d3046cb5 Switched build to Nuke 7 سال پیش
Avalonia.sln 2c0936580e Move DataGrid to a separate assembly and add it to CoreLibraries.props. 6 سال پیش
Avalonia.sln.DotSettings 343905ebb3 Generate asset resource info with paths 7 سال پیش
Avalonia.v3.ncrunchsolution f50ff28387 Make ncrunch run again. 6 سال پیش
Directory.Build.props d532223a5a Switched to post-processing nuget packages from AggregatePackage SDK 7 سال پیش
NuGet.Config 1d2be074d6 Added cake build scripts 9 سال پیش
Settings.StyleCop a833a5e883 Stylecop fixes. 11 سال پیش
azure-pipelines.yml 62b5efbe95 use newer sdk 6 سال پیش
build-native.sh f53d491bca Add C++11 override specifier to be explicit about overrides 7 سال پیش
build.ps1 f8d3046cb5 Switched build to Nuke 7 سال پیش
build.sh f8d3046cb5 Switched build to Nuke 7 سال پیش
dirs.proj 223e929ca3 Update dirs.proj 6 سال پیش
global.json 11884a8232 Updated MSBuild.Sdk.Extras version. 6 سال پیش
licence.md 6993973731 Added licence.md 11 سال پیش
readme.md 9437314a6d Update readme.md 6 سال پیش

readme.md

Avalonia

Gitter Chat Build Status (Win, Linux, OSX) Open Collective NuGet MyGet
Gitter Build Status Backers on Open Collective Sponsors on Open Collective NuGet MyGet

About

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

Documentation

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.

Contributing

Please read the contribution guidelines before submitting a pull request.

Contributors

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

Backers

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

Sponsors

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