跨平台WPF框架Avalonia教程 一

安装

安装 Avalonia UI 模板

开始使用 Avalonia 的最佳方式是使用模板创建一个应用程序。

要安装 Avalonia 模板,请运行以下命令:

dotnet new install Avalonia.Templates

备注

对于 .NET 6.0 及更早版本,请将 install 替换为 --install

要列出已安装的模板,请运行以下命令:

 dotnet new list

您应该可以看到已安装的 Avalonia 模板:

Template Name Short Name Language Tags


Avalonia App avalonia.app [C#],F# Desktop/Xaml/Avalonia/Windows/Linux/macOS

Avalonia MVVM App avalonia.mvvm [C#],F# Desktop/Xaml/Avalonia/Windows/Linux/macOS

Avalonia Cross Platform Application avalonia.xplat [C#],F# Desktop/Xaml/Avalonia/Web/Mobile

Avalonia Resource Dictionary avalonia.resource Desktop/Xaml/Avalonia/Windows/Linux/macOS

Avalonia Styles avalonia.styles Desktop/Xaml/Avalonia/Windows/Linux/macOS

Avalonia TemplatedControl avalonia.templatedcontrol [C#],F# Desktop/Xaml/Avalonia/Windows/Linux/macOS

Avalonia UserControl avalonia.usercontrol [C#],F# Desktop/Xaml/Avalonia/Windows/Linux/macOS

Avalonia Window avalonia.window [C#],F# Desktop/Xaml/Avalonia/Windows/Linux/macOS

设置编辑器

您可以使用任何代码编辑器创建Avalonia应用程序,但是使用IDE将为您提供Avalonia XAML预览器和代码补全的支持。

JetBrains Rider

JetBrains Rider IDE在2020.3版本中开始内置支持Avalonia XAML,包括对Avalonia特定XAML功能和自定义代码检查的一流支持。

有关更多信息,请参阅JetBrains Rider 2020.3版本发布公告

Rider目前还没有提供可视化设计工具,但正在开发中。请参阅GitHub项目获取更多信息和安装说明。

Visual Studio

如果您正在使用Visual Studio开发Avalonia,您应该安装Avalonia for Visual Studio扩展。

该扩展提供了Avalonia XAML的智能感知支持以及预览功能。

安装Avalonia for Visual Studio扩展的步骤如下:

  • 在Visual Studio中,点击扩展 菜单上的管理扩展
  • 搜索框中,输入"Avalonia"
  • 点击下载并按照说明进行操作(您需要关闭Visual Studio以完成安装)

信息

您也可以在此处下载扩展。

信息

如果您使用的是VS2019或VS2017,您需要在此处下载适用于旧版本的扩展。

最新功能

Avalonia 团队在本次发布中付出了巨大努力,我们非常兴奋地分享所有新的特性和改进。让我们一起来看看!

新特性

A11y(无障碍功能)

Avalonia 的这一版本在使应用程序更加无障碍方面迈出了重大步伐。我们增加了对各种辅助工具的支持,使得每个人都能更容易地使用Avalonia应用程序。

IME(输入法编辑器)支持

我们引入了对输入法编辑器(IME)的支持,让用户能够输入在输入设备上找不到的字符和符号。

组合渲染器

新的组合渲染器增强了图形渲染能力,提供了一个更强大、高效和灵活的渲染管线。

WebAssembly (WASM) 支持

WASM 支持使得Avalonia应用程序可以直接在浏览器中运行,扩展了我们的平台支持,为开发者提供了更多自由和灵活性。

iOS 和 Android 支持

我们添加了对iOS和Android平台的支持。现在开发者可以在这两个最受欢迎的移动平台上构建和运行Avalonia应用程序。

文本内联

通过文本内联功能,你可以轻松构建复杂的格式化文本块。这使得在文本中添加注解、超链接和其他内联元素变得更加容易。

平滑虚拟化(重做的ItemsControl)

我们完全重做了ItemsControl以实现平滑虚拟化。这提升了包含大量项的控件的效率和用户体验。

性能提升

Avalonia 11.0带来了显著的性能提升,增强了应用程序的速度和效率。

控件主题、嵌套样式和主题变体

我们增加了为控件主题化、应用嵌套样式以及选择主题变体的能力。这使得构建美观且一致的UI变得更加容易。

图像效果

图像效果功能允许你对位图应用视觉效果,如模糊、投影等。

3D 变换

现在,你可以使用3D变换在UI中创建令人惊叹的三维效果。

AOT(预编译)和修剪

AOT编译让你的应用程序在运行前进行编译,从而运行更快。修剪功能通过移除未使用的代码减小应用的大小。

GPU 交互

GPU交互特性使Avalonia能更有效地与GPU协同工作,提升渲染性能和视觉效果。

实验性Metal支持

我们正在测试Metal支持,以提高iOS和macOS设备上的性能。

发布日志

你可以在Avalonia的GitHub仓库中找到所有版本的发布说明 https://github.com/AvaloniaUI/Avalonia/releases

11.0.7

NuGet Gallery | Avalonia 11.0.7

Full Changelog: 11.0.6...11.0.7

What's Changed


11.0.6

NuGet Gallery | Avalonia 11.0.6

Full Changelog : https://github.com/AvaloniaUI/Avalonia/compare/11.0.5...11.0.6

Join Discussion : https://github.com/AvaloniaUI/Avalonia/discussions/13841

What's Changed


11.0.5

NuGet Gallery | Avalonia 11.0.5

What's Changed

Full Changelog : https://github.com/AvaloniaUI/Avalonia/compare/11.0.4...11.0.5


11.0.4

Just some bug fixes! Stability++

NuGet Gallery | Avalonia 11.0.4

What's Changed

New Contributors

Full Changelog : https://github.com/AvaloniaUI/Avalonia/compare/11.0.3...11.0.4


11.0.3

Minor fixes and improvements

What's Changed

New Contributors


11.0.2

NuGet Gallery | Avalonia 11.0.2

What's Changed

New Contributors

Full Changelog : https://github.com/AvaloniaUI/Avalonia/compare/11.0.1...11.0.2


11.0.1

Bug fixes only this time folks!

NuGet Gallery | Avalonia 11.0.1

What's Changed

New Contributors

Full Changelog : https://github.com/AvaloniaUI/Avalonia/compare/11.0.0...11.0.1


11.0.0

Our docs have had an overhaul also: Avalonia Docs | Avalonia Docs

See this guide on how to update your application. https://docs.avaloniaui.net/docs/next/stay-up-to-date/upgrade-from-0.10

NuGet Gallery | Avalonia 11.0.0

What's New

A11y (Accessibility)

This version of Avalonia takes major strides in making applications more accessible. We've added support for various accessibility tools, making it easier for everyone to use Avalonia applications.

IME (Input Method Editor) Support

We have introduced support for Input Method Editor (IME), this allows onscreen keyboards and input in all languages.

Compositing Renderer

The new compositing renderer enhances the graphical rendering capabilities, providing a more robust, efficient, and flexible rendering pipeline.

WebAssembly (WASM) Support

WASM support allows Avalonia applications to run directly in the browser, broadening our platform support and giving developers more freedom and flexibility.

iOS and Android Support

We've added support for both iOS and Android platforms. Developers can now build and run Avalonia applications on two of the most popular mobile platforms.

Full Rich Text support

You can now fully render rich text allowing you to render complex documents.

With the Text Inlines feature, you can easily construct complex formatted text blocks. It enables you to add annotations, hyperlinks, and other inline elements in your text.

Smooth Virtualization (Reworked ItemsControl)

We've completely reworked the ItemsControl to provide smooth virtualization. This improves the efficiency and user experience for controls with many items.

Performance Improvements

Avalonia 11.0 comes with significant performance improvements, enhancing the speed and efficiency of your applications.

Control Themes, Nested Styles, and Theme Variants

We've added the ability to theme controls, apply nested styles, and choose theme variants. This makes it easier to build beautiful and consistent UIs.

Bitmap Effects

The Bitmap Effects feature lets you apply visual effects to bitmaps. You can add blur, drop shadows, and other effects to images.

3D Transforms

With 3D Transforms, you can now create stunning three-dimensional effects in your UI.

AOT (Ahead-Of-Time) Compilation and Trimming

AOT compilation enables your apps to run faster by compiling them before runtime. Trimming reduces the size of your apps by removing unused code.

GPU Interop

The GPU Interop feature allows Avalonia to work more efficiently with the GPU, improving rendering performance and visuals.

Experimental Metal Support

We're testing Metal support to improve performance on iOS and macOS devices.

相关推荐
小码编匠1 小时前
WPF 实现 Element UI 风格的日期时间选择器
后端·c#·.net
code_shenbing5 小时前
跨平台WPF框架Avalonia教程 十一
microsoft·ui·c#·wpf·应用程序
code_shenbing5 小时前
跨平台WPF框架Avalonia教程 六
microsoft·ui·c#·wpf·应用程序·界面设计
NetX行者6 小时前
.NET 9.0 中 System.Text.Json 的全面使用指南
c#·json·.net
zls3653656 小时前
C# WPF .NET6程序可以直接运行?不需要装.NET运行时?
开发语言·c#·.net·wpf
arbboter6 小时前
libcurl.net入门使用
c#·.net·curl·webapi·libcurl·libcurl.net
NetX行者7 小时前
.NET 9与C# 13革新:新数据类型与语法糖深度解析
开发语言·c#·.net
arbboter8 小时前
RestSharp基本使用方法
开发语言·c#·winform·curl·webapi·restsharp
老码沉思录18 小时前
React Native 全栈开发实战班 - 用户界面之手势系统应用
react native·react.js·ui