C# UI框架 Avalonia,提供灵活的样式系统并支持广泛的平台

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

C# UI框架 Avalonia,提供灵活的样式系统并支持广泛的平台

作为被认为是 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 的实时预览。

C# UI框架 Avalonia,提供灵活的样式系统并支持广泛的平台

JetBrains Rider

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

C# UI框架 Avalonia,提供灵活的样式系统并支持广泛的平台

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

C# UI框架 Avalonia,提供灵活的样式系统并支持广泛的平台

使用

创建并运行项目

在 Visual Studio 搜索框中输入 Avalonia单击创建新项目:

C# UI框架 Avalonia,提供灵活的样式系统并支持广泛的平台

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

C# UI框架 Avalonia,提供灵活的样式系统并支持广泛的平台

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

C# UI框架 Avalonia,提供灵活的样式系统并支持广泛的平台

添加一个控件

插入一个按钮标签如图:

  <Button>Calculate</Button>
C# UI框架 Avalonia,提供灵活的样式系统并支持广泛的平台

响应事件

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

C# UI框架 Avalonia,提供灵活的样式系统并支持广泛的平台

打开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 开发的应用程序

像素浏览器

C# UI框架 Avalonia,提供灵活的样式系统并支持广泛的平台
https://carinastudio.azurewebsites.net/PixelViewer

时间跟踪工具

C# UI框架 Avalonia,提供灵活的样式系统并支持广泛的平台
https://chronify.me/

Redis 助手

C# UI框架 Avalonia,提供灵活的样式系统并支持广泛的平台
https://www.redisant.com/

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

C# UI框架 Avalonia,提供灵活的样式系统并支持广泛的平台
https://github.com/Artemis-RGB/Artemis

日志查看器

C# UI框架 Avalonia,提供灵活的样式系统并支持广泛的平台
https://github.com/carina-studio/ULogViewer

JetBrains Rider

C# UI框架 Avalonia,提供灵活的样式系统并支持广泛的平台
https://www.jetbrains.com/rider/

更多应用

C# UI框架 Avalonia,提供灵活的样式系统并支持广泛的平台
https://avaloniaui.net/Showcase

传送门

GitHub:https://github.com/AvaloniaUI/Avalonia

原文始发于微信公众号(开源技术专栏):C# UI框架 Avalonia,提供灵活的样式系统并支持广泛的平台

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/191929.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!