跨平台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 Changeloghttps://github.com/AvaloniaUI/Avalonia/compare/11.0.5...11.0.6

Join Discussionhttps://github.com/AvaloniaUI/Avalonia/discussions/13841

What's Changed


11.0.5

NuGet Gallery | Avalonia 11.0.5

What's Changed

Full Changeloghttps://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 Changeloghttps://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 Changeloghttps://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 Changeloghttps://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.

### Avalonia UI框架教程与开发指南 #### 了解Avalonia的基础概念 Avalonia个用于.NET平台的跨平台UI框架,支持Windows、macOS和Linux等多个操作系统[^1]。此框架允许开发者构建具有现代化界面的应用程序,并且其核心特性之是在多个平台上提供致的用户体验。 #### 安装与配置环境 为了开始学习如何使用Avalonia进行应用开发,首先需要设置好工作环境。可以从[Avalonia官方文档](https://docs.avaloniaui.net/)获取详细的安装指导,这里包含了关于.NET SDK版本的选择以及Visual Studio或其他IDE插件的支持说明[^2]。 #### 创建第Avalonia应用程序 旦完成了必要的软件安装之后,就可以着手建立首个基于Avalonia的应用实例了。通过命令行工具或集成开发环境中提供的模板来快速启动个新的项目结构。对于初学者来说,尝试模仿些简单的例子是非常有帮助的;这些可以在GitHub仓库中的示例部分找到。 ```csharp using Avalonia; using Avalonia.Controls.ApplicationLifetimes; class Program { public static void Main(string[] args) => BuildAvaloniaApp() .StartWithClassicDesktopLifetime(args); public static AppBuilder BuildAvaloniaApp() => AppBuilder.Configure<App>() .UsePlatformDetect(); } ``` 这段C#代码展示了最基础的Avalonia应用程序入口点是如何编写的。`BuildAvaloniaApp()`方法负责初始化并返回个配置好的应用程序对象,而`.StartWithClassicDesktopLifetime(args)`则会处理运行时生命周期管理的任务。 #### 学习XAML布局设计 熟悉XAML(可扩展应用程序标记语言)是掌握Avalonia的关键所在。这种声明式的XML风格语法被用来定义用户界面上的各种元素及其属性。深入研究有关绑定数据源到视图组件的技术也是必不可少的部分,因为这有助于实现动态更新的内容展示功能。 #### 探索高级特性和最佳实践 随着技能的增长,探索更多复杂的主题如样式化控件、动画效果制作或是响应式设计原则将会进步提升所创建产品的质量。同时也要关注社区内分享的最佳实践经验,这对于提高效率和解决潜在问题都大有益处。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

code_shenbing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值