跨平台的 .NET UI框架

Steven Kirk 71785b73d8 Initial refactor of AvaloniaObject value store. %!s(int64=3) %!d(string=hai) anos
.github d6a16903f3 Update config.yml %!s(int64=3) %!d(string=hai) anos
.ncrunch f38fcc8f52 Updated ncrunch config. %!s(int64=3) %!d(string=hai) anos
Documentation d3b21f5893 Update build.md %!s(int64=4) %!d(string=hai) anos
build 70e77880f5 Avalonia.SourceGenerator -> DevGenerators %!s(int64=3) %!d(string=hai) anos
native c7b4fc3182 Merge pull request #8483 from AvaloniaUI/fixes/osx-initial-window-size-when-extend-client-area %!s(int64=3) %!d(string=hai) anos
nukebuild 8d6c8cf95c Merge branch 'master' into cleanup-platformsupport %!s(int64=3) %!d(string=hai) anos
packages ab46885d62 Fix Visual Studio android projects build %!s(int64=3) %!d(string=hai) anos
samples edef92f42f Merge branch 'master' into feature/7120-control-themes %!s(int64=3) %!d(string=hai) anos
scripts 4dc87d6cbc update replace scripts. %!s(int64=5) %!d(string=hai) anos
src 71785b73d8 Initial refactor of AvaloniaObject value store. %!s(int64=3) %!d(string=hai) anos
tests 71785b73d8 Initial refactor of AvaloniaObject value store. %!s(int64=3) %!d(string=hai) anos
.editorconfig 5000a4ffe3 Do not enable MouseInPointerEnabled automatically and remove EnableWmPointerEvents option %!s(int64=3) %!d(string=hai) anos
.gitattributes cd2b7530f5 Initial commit %!s(int64=12) %!d(string=hai) anos
.gitignore a529ae88d5 Grammatical corrections to product names: XCode -> Xcode, .Net -> .NET, Javascript -> JavaScript, MacOS -> macOS, MacOs -> macOS %!s(int64=3) %!d(string=hai) anos
.gitmodules d355007c57 Extracted runtime XAML loader to a separate package %!s(int64=5) %!d(string=hai) anos
.nuke f8d3046cb5 Switched build to Nuke %!s(int64=7) %!d(string=hai) anos
Avalonia.sln 8c171d0174 Merge remote-tracking branch 'origin/master' into rndr4 %!s(int64=3) %!d(string=hai) anos
Avalonia.sln.DotSettings fcece1a215 DotSettings: enable XAML highlighting %!s(int64=4) %!d(string=hai) anos
Avalonia.v3.ncrunchsolution 1cc569472e Fix ncrunch. %!s(int64=5) %!d(string=hai) anos
CODE_OF_CONDUCT.md 614941c430 Fixed CoC contact method %!s(int64=5) %!d(string=hai) anos
CONTRIBUTING.md c9df7ae46e Update CONTRIBUTING.md %!s(int64=3) %!d(string=hai) anos
Directory.Build.props cc91c3002f fix: AvaloniaPublicKey.props file name typo %!s(int64=3) %!d(string=hai) anos
NOTICE.md e555f46d40 Add attribution for chromium source code. %!s(int64=5) %!d(string=hai) anos
NuGet.Config cab213cce2 use eap release of skiasharp compatible with sdk 6.0.201/202+ %!s(int64=3) %!d(string=hai) anos
Settings.StyleCop a833a5e883 Stylecop fixes. %!s(int64=11) %!d(string=hai) anos
azure-pipelines-integrationtests.yml e8914c966d reliably replace old bundle. %!s(int64=3) %!d(string=hai) anos
azure-pipelines.yml f7893ba39a fix workload install %!s(int64=3) %!d(string=hai) anos
build-native.sh 1986de1bf8 add some key mappings for osx %!s(int64=6) %!d(string=hai) anos
build.ps1 6e4dc871bd Merge branch 'master' into feature/add_handling_input_message_previewer %!s(int64=5) %!d(string=hai) anos
build.sh fe846fd0f3 Download SDK separately (unix) %!s(int64=4) %!d(string=hai) anos
dirs.proj 9bc881e4a7 Update iOS control catalog projects %!s(int64=3) %!d(string=hai) anos
global.json 26ff613413 use 6.0.202 sdk. %!s(int64=3) %!d(string=hai) anos
licence.md 2ab5f8b893 Revert "Update licence.md" %!s(int64=4) %!d(string=hai) anos
readme.md d7d6a8353e make it really clear. %!s(int64=3) %!d(string=hai) anos

readme.md

Telegram Gitter Discord Build Status Backers on Open Collective Sponsors on Open Collective License
NuGet downloads Size

📖 About

Avalonia is a cross-platform UI framework for dotnet, providing a flexible styling system and supporting a wide range of Operating Systems such as Windows, Linux, macOS. Avalonia is mature and production ready. We also have in beta release support for iOS, Android and in early stages support for browser via WASM.

image

To see the status of some of our features, please see our Roadmap. You can also see what breaking changes we have planned and what our past breaking changes have been. Awesome Avalonia is community-curated list of awesome Avalonia UI tools, libraries, projects and resources. Go and see what people are building with Avalonia!

🚀 Getting Started

The Avalonia Visual Studio Extension contains project and control templates that will help you get started, or you can use the .NET Core CLI. For a starter guide see our documentation.

Avalonia is delivered via NuGet package manager. You can find the packages here: https://www.nuget.org/packages/Avalonia/

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

Install-Package Avalonia
Install-Package Avalonia.Desktop

Showcase

Examples of UIs built with Avalonia (Lunacy)

image (PlasticSCM)

image (WasabiWallet)

JetBrains Rider

JetBrains Rider now has official support for Avalonia.

Code completion, inspections and refactorings are supported out of the box, for XAML previewer add https://plugins.jetbrains.com/plugins/dev/14839 to plugin repositories and install AvaloniaRider plugin.

Bleeding Edge Builds

We also have a nightly build which tracks the current state of master. Although these packages are less stable than the release on NuGet.org, you'll get all the latest features and bugfixes right away and many of our users actually prefer this feed!

Documentation

Documentation can be found at https://docs.avaloniaui.net. We also have a tutorial over there for newcomers.

Building and Using

See the build instructions here.

Contributing

This project exists thanks to all the people who contribute.

Please read the contribution guidelines before submitting a pull request.

Code of Conduct

This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community. For more information see the .NET Foundation Code of Conduct.

Licence

Avalonia is licenced under the MIT licence.

Donate

Donating to the project is a fantastic way to thank our valued contributors for their hard work. Your donations are shared among our community and awarded for significant contributions.

If you need support see Commercial Support section below.

Donate with BTC or use Open Collective.

BTC: bc1q05wx78qemgy9x6ytl5ljk2xrt00yqargyjm8gx

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]

Commercial Support

We have a range of support plans available for those looking to partner with the creators of Avalonia, enabling access to the best support at every step of the development process.

Please note that donations are not considered payment for commercial support agreements. Please contact us to discuss your needs first. [email protected]

.NET Foundation

This project is supported by the .NET Foundation.