Avalonia 是一个跨平台的.net UI 框架,支持 Windows、macOS、Linux、iOS、Android 和 WebAssembly 等多个平台。

作为被认为是 WPF 的精神继承者,Avalonia UI 为 XAML 开发人员提供了现代而熟悉的跨平台开发体验。与 WPF 相似但有许多改进之处。此外,为寻求跨平台 WPF 的用户,Avalonia 推出了商业产品 Avalonia XPF,使 WPF 应用程序能够在 macOS 和 Linux 上运行,几乎无需代码更改。
安装
.NET CLI
dotnet new install Avalonia.Templates
Visual Studio 扩展
Avalonia for Visual Studio 扩展包括一个 XAML 设计器,可用于在编写 XAML 时显示 XAML 的实时预览。

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

此外,还存在一个扩展,可实现对 Avalonia XAML 文件的实时预览。

使用
创建并运行项目
在 Visual Studio 搜索框中输入 Avalonia
单击创建新项目:

该模板将创建两个新项目:GetStartedApp
是各个平台之间共享的主项目, GetStartedApp.Desktop
是桌面平台的项目:

右键单击 GetStartedApp.Desktop 项目并选择设置为启动项目,点击 F5 运行项目:

添加一个控件
插入一个按钮
标签如图:
<Button>Calculate</Button>

响应事件
主窗口的 XAML
文件有一个与其关联的 C# 代码隐藏文件。如果你使用的是 IDE,则可以在 Solution Explorer
中找到此文件 – 它是子项.axaml
文件:

打开MainWindow.axaml.cs
文件:
using Avalonia.Controls;
namespace GetStartedApp
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
}
}
分部类 MainWindow
对应于 Avalonia UI 已有的 XAML 创建的窗口对象。在 XAML 窗口标记中可以找到该类名称:
<Window
...
x:Class="GetStartedApp.MainWindow" >
</Window>
在构造函数后添加以下代码:
public void ButtonClicked(object source, RoutedEventArgs args)
{
Debug.WriteLine("Click!");
}
切换到 XAML 文件并找到 <Button>
标记。在标签末尾输入 click 属性,如下:
<Button
...
Click="ButtonClicked">
</Button>
使用 Avalonia UI 开发的应用程序
像素浏览器

时间跟踪工具

Redis 助手

为不同品牌的 RGB 外设创建逼真的照明效果

日志查看器

JetBrains Rider

更多应用

传送门
GitHub:https://github.com/AvaloniaUI/Avalonia
原文始发于微信公众号(开源技术专栏):C# UI框架 Avalonia,提供灵活的样式系统并支持广泛的平台
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/191929.html