Avalonia 是 dotnet 的跨平台 UI 框架,提供灵活的样式系统,支持 Windows、macOS、Linux、iOS、Android 和 WebAssembly 等多种平台。 Avalonia 已经成熟并已做好生产准备,已被 Schneider Electric、Unity、JetBrains 和 GitHub 等公司使用。


Full Changelog: https://github.com/AvaloniaUI/Avalonia/commits/11.1.0-beta1

Full API Diff: https://gist.github.com/maxkatz6/a7df42607cc7187b94e2e693ccf15f6d
完整 API 差异:https://gist.github.com/maxkatz6/a7df42607cc7187b94e2e693ccf15f6d

Please install latest dotnet templates.
请安装最新的 dotnet 模板。

Most of new features are still pending updated documentation.

You can follow progress on this issue – AvaloniaUI/avalonia-docs#384.
您可以关注此问题的进展 – AvaloniaUI/avalonia-docs#384。

New features 新功能

  • Binding markup extension was refactored, and now supports UpdateSourceTrigger!
    绑定标记扩展已重构,现在支持 UpdateSourceTrigger!
  • Tizen backend with Tizen TV support.
    Tizen 后端,支持 Tizen TV。
  • XAML warnings support, starting with Obsolete and TemplatePart warnings. Configurable via csproj and editorconfig. XAML error reporting is now also improved, not being limited by a single error at a time.
    XAML 警告支持,从 Obsolete 和 TemplatePart 警告开始。可通过 csproj 和 editorconfig 配置。 XAML 错误报告现在也得到了改进,不再受一次单个错误的限制。
  • New top-level and application services: ILauncher, IInputPane, IActivatableLifetime.
  • XY focus with arrow keys and remote DPad is now available.
    现在可以使用箭头键和远程 DPad 进行 XY 对焦。
  • Global exception handling via Dispatcher UnhandledException and UnhandledExceptionFilter.
    通过 Dispatcher UnhandledException 和 UnhandledExceptionFilter 进行全局异常处理。

New and extended controls:

  • HyperlinkButton is now available.
  • MenuItem now supports ToggleType property, including CheckBox and Radio types with radio groups.
    MenuItem 现在支持 ToggleType 属性,包括带有单选组的 CheckBox 和 Radio 类型。
  • Border now includes a new BackgroundSizing property, allowing customizing transparent border brushes rendering.
    边框现在包含一个新的 BackgroundSizing 属性,允许自定义透明边框画笔渲染。
  • Many interactive controls were updated to be usable with TV remote control, where only DPad buttons and Space (Select) + Escape (Back) are available.
    许多交互式控件已更新为可与电视遥控器一起使用,其中仅 DPad 按钮和 Space(选择)+ Escape(返回)可用。
  • NumericUpDown and AutoCompleteBox: MaxLength, InnerLeftContent, and InnerRightContent.
    NumericUpDown 和 AutoCompleteBox:MaxLength、InnerLeftContent 和 InnerRightContent。
  • WindowNotificationManager was refactored and now can be embedded at any level of the controls tree, not being hardcoded to the top level.
    WindowNotificationManager 进行了重构,现在可以嵌入到控件树的任何级别,而不是硬编码到顶层。
  • RadialGradientBrush now has separated RadiusX and RadiusY properties that allow absolute and relative values. Old Radius property is now obsolete.
    RadialGradientBrush 现在具有独立的 RadiusX 和 RadiusY 属性,允许绝对值和相对值。旧的 Radius 属性现已过时。

New platform features 新平台功能

Windows 视窗

  • DirectComposition rendering mode is now supported for older Windows versions (8.1+)
    旧版 Windows 版本 (8.1+) 现在支持 DirectComposition 渲染模式
  • It’s now possible to add WndProc and WindowStyles callbacks via Win32Properties API.
    现在可以通过 Win32Properties API 添加 WndProc 和 WindowStyles 回调。

macOS 苹果系统

  • TrayIcon now includes MacOSProperties.IsTemplateIcon attached property, allowing monochrome icons consistent with macOS system icons
    TrayIcon 现在包含 MacOSProperties.IsTemplateIcon 附加属性,允许单色图标与 macOS 系统图标一致


  • It’s now possible to set NetWmWindowType and WmClass on any window via X11Properties attached properties.
    现在可以通过 X11Properties 附加属性在任何窗口上设置 NetWmWindowType 和 WmClass 。
  • Avalonia now respects XGD accent color spec.
    Avalonia 现在遵循 XGD 强调色规范。

Browser 浏览器

  • StaticWebAssets SDK is now supported. It brings support for building in .NET Brotli compression and caching. To use this SDK, please recreate the browser project from the new template using the 11.1.0-beta1 version.
    StaticWebAssets 现在支持 SDK。它支持构建 .NET Brotli 压缩和缓存。要使用此 SDK,请使用 11.1.0-beta1 版本从新模板重新创建浏览器项目。
  • WebGL2 is now enabled by default.
    WebGL2 现在默认启用。


  • Metal rendering mode was implemented and now can be enabled via iOSPlatformOptions.
    Metal 渲染模式已实现,现在可以通过 iOSPlatformOptions 启用。
  • Physical keyboard and mouse input handling now work.
  • tvOS support was added. 添加了 tvOS 支持。


  • Android TV support was added
    添加了 Android TV 支持

Breaking Changes 重大变化

  • iOS and Android backends now require .NET 8 or newer, as per .NET mobile workloads support timelines.
    根据 .NET 移动工作负载支持时间表,iOS 和 Android 后端现在需要 .NET 8 或更高版本。
  • Browser backend now also requires .NET 8 or newer, but also has changes to its project structure. We recommend using newer Avalonia templates as a reference, but a migration guide specifically for the browser is also planned.
    浏览器后端现在也需要 .NET 8 或更高版本,但其项目结构也发生了变化。我们建议使用较新的 Avalonia 模板作为参考,但还计划专门针对浏览器的迁移指南。