Avalonia系列文章之小试牛刀

news/2025/1/18 0:54:41/文章来源:https://www.cnblogs.com/hsiang/p/18673970

最近有朋友反馈,能否分享一下Avalonia相关的文章,于是就抽空学习了一下,发现Avalonia真的是一款非常不错的UI框架,值得花时间认真学习一下,于是边学习边记录,整理成文,分享给大家,希望可以一起学习,共同进步。

什么是Avalonia?

Avalonia是一款开源的跨平台UI框架,它是.NET基金会的一部分,专为创建灵活且美观的用户界面而设计。Avalonia 支持多种应用程序开发平台,包括 Windows、Linux、macOS、iOS、Android 和 WebAssembly。同时Avalonia基于现代.NET技术栈,后台允许采用C#或其他.NET语言编写代码,UI页面采用XAML语言,同样兼容WPF的样式系统,布局系统和绑定基础设施模型,之前学习WPF的同学可以无缝衔接,几乎是零成本学习。

Avalonia的特点

通过与其他UI框架进行对比,Avalonia具有如下特点:

  • 跨平台设计:与 WPF 专为 Windows 开发不同,Avalonia 是从一开始就被设计为跨平台框架。它支持 Windows、Linux、macOS、iOS、Android、WebAssembly 等多个平台,能够在所有这些平台上提供一致的外观和体验。
  • 独立渲染:Xamarin.Forms 依赖目标平台的原生控件进行渲染,而 Avalonia 拥有自己的渲染引擎。这意味着它不使用操作系统的原生 UI 控件,而是自己绘制整个用户界面。这提供了高度的灵活性和自定义能力。
  • 灵活的样式系统:Avalonia 使用类似于 WPF 的强大样式系统。它使用样式来定义控件的外观,与 Xamarin.Forms 不同,这些样式可以根据控件状态动态调整,并且可以在继承层次结构中继承。
  • XAML 和 code-behind: 与 WPF 和 Xamarin.Forms 一样,Avalonia 允许您使用 XAML 定义用户界面,这是许多 .NET 开发人员熟悉的标记语言。您还可以直接在代码中操作用户界面,使您能够选择适合您的应用程序的正确方法。
  • 开源和社区驱动:Avalonia 是一个开源项目,拥有活跃的社区为其开发做出贡献。这意味着它会根据社区的反馈和需求不断发展和改进。

环境安装

正所谓“工欲善其事,必先利其器”使用Avalonia之前需要先安装UI模板和插件,才能够创建Avalonia项目。

1. 安装模板

AvaloniaUI模板,可以通过运行如下命令进行安装:

dotnet new install Avalonia.Templates

打开命令行窗口,然后输入安装UI模板命令,进行安装,如下所示:

2.安装Avalonia扩展

在Visual Studio 2022中,安装基于Avalonia的扩展,首先打开Visual Studio 2022,然后点击“扩展(X)”菜单,再点击“管理扩展(M)”子菜单,打开管理扩展窗口,在“管理扩展”窗口搜索关键字“Avalonia”,在扩展列表中选择“Avalonia for Visual Studio 2022”进行下载即可,如下所示:

然后在弹出的安装向导中,点击"Modify",同意协议并进行安装,如下所示:

等待安装扩展

安装完成

创建Avalon项目

环境配置好以后,就可以创建项目啦,首先打开Visual Studio,创建项目,在项目模板页面的搜索框输入“Avalonia”就可以看到已经安装的Avalonia模板,然后选择“Avalonia C# Project”,点击“下一步”,如下所示:

在项目配置页面,输入项目名,此处为“FirstAvalonia”,然后点击“创建”按钮,如下所示:

在弹出的New App页面选择目标平台,和设计模式,然后点击“创建”,如下所示:

创建成功后,解决方案中包含两个项目,其中“FirstAvalonia”是在每个平台之间共享的主要项目,“FirstAvalonia.Desktop”是针对桌面平台的特定项目,如下所示:

项目运行

在创建项目后,将“FirstAvalonia.Desktop”设置为启动项目,然后点击Visual Studio 工具栏中的运行按钮或者F5快捷键,进行启动程序。

若是报“当前 .NET SDK 不支持将 .NET 8.0 设置为目标。请将 .NET 7.0 或更低版本设置为目标,或使用支持 .NET 8.0 的 .NET SDK 版本。 ”错误,表示Visual Studio 2022未安装.NET 8.0,如下所示:

可以选择项目,然后点击右键,在属性配置页面修改程序的目标框架,如下所示:

重新运行项目,如下所示:

当看到Welcome to Avalonia,恭喜你,第一Avalonia项目运行成功啦!!!

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/871045.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

器件选型基础知识

器件选型基础知识器件选型基础知识 1. PCB结构与工艺 PCB主要由五部分组成,分别是介电层、孔、防焊墨油、丝印和线路组成。介电层:用来保持线路及各层之间的绝缘性,俗称为基材,最常见的材料是玻璃纤维; 孔:导通孔可以使两层次以上的线路彼此导通; 防焊墨油:对于整个电路…

【CodeForces训练记录】Codeforces Round 997 (Div. 2)

训练情况赛后反思 A题犯蠢了,题目看成面积了,C题应该可以更快的搓出来,只能说结论猜了几次不对 A题 我们把周长移动一下,补成一个长方形,左下角的坐标为 \((x_1,y_1)\),右上角坐标为 \((\sum{x_i}+m,\sum{y_i}+m)\),已知两点直接求周长 #include <bits/stdc++.h> …

引用 EAGLE/EAGLE2 的文章汇总

引用 EAGLE/EAGLE2 的文章汇总这张图是 eagle 和 previous approaches 的加速效果对比。 引用 eagle 的文章也可以被分成很多类,它们引用 eagle/eagle2 的侧重点也很多样。有不少文章是把 eagle 和 eagle2 作为 speculative decoding 的示例,这种不再在这里列出了。有些文章我…

【Kali工具】一款聚合暴力破解工具 Kraken

本文为大家分析一款聚合密码破解工具。集成了常见的破解类型,上手也比较简单,一起来看看吧。 在Kali中安装在Kali或者在其他Linux系统中,我们执行下面命令进行安装。 git clone https://github.com/jasonxtn/kraken.git cd Kraken pip install -r requirements.txt #运行 py…

G1原理—10.如何优化G1中的FGC

大纲 1.G1的FGC可以优化的点 2.一个bug导致的FGC(Kafka发送重试 + subList导致List越来越大) 3.为什么G1的FGC比ParNew + CMS要更严重 4.FGC的一些参数及优化思路1.G1的FGC可以优化的点 (1)FGC的基本原理 (2)遇到FGC应该怎么处理 (3)应该如何操作来规避FGC (4)应该如何操作来加…

firefox浏览器deepin20.9下缩放异常

地址栏输入about:config,修改layout.css.devPixelsPerPx默认1.25,改为1.0就可以了。 deepin版本: 20.9 社区版 firefox版本: 115.18.0esr (64 位) 修改前改参数修改后

【内网攻防】WMI的利用

# 红队 # 红蓝对抗 # 内网攻防 WMI简介 WMI,全称Windows Management Instrumentation,是微软开发的一种用于管理Windows系统的工具。你可以把它想象成一个数据库工具,它存储了关于你的电脑的各种信息,比如系统、应用程序、网络和设备等。 WMI使用了一种特殊的方式来表示这…

【后门】cymothoa后门的利用

# 后门工具 # 红队 cymothoa简介: Cymothoa是一款隐秘的后门工具,通过向目标主机上活跃的进程注入恶意代码来执行后门工作,这也反向说明了,实际上Cymothoa后门会拥有和原进程相同的权限,且Cymothoa是通过向系统进程注入shellcode去执行后门,所以不会像以前写过的许多后门…

Linux 符号链接

Linux中的符号链接是一种特殊类型的文件,允许用户创建指向其他文件或目录的链接,便于访问和管理文件系统。创建和删除符号链接很简单,使用ln -s命令可以创建链接,而unlink和rm命令可用于删除它。用户还可以通过命令查找和处理失效的符号链接,以维护文件系统的整洁。在Linu…

在 Linux 中查看符号链接指向

在 Linux 系统中,可以通过使用 readlink、realpath 和 ls -la 命令来查看符号链接指向的目标文件或目录,选择不同命令可以满足不同的路径解析需求。在 Linux 系统中,符号链接(symbolic link)是一种特殊类型的文件,它指向另一个文件或目录。为了查看符号链接指向的目标文件…

Office 365 E5 账号申请及永久续期教程

详细介绍了如何申请微软提供的Office 365 E5管理账号、使用该账号的基本功能以及实现账号的永久续期方法,强调通过Github Action等自动化手段可以简化续期过程。续订成功通知Office 365 E5 是微软 免费 提供给开发者的 Office 临时 管理号,任何人均可申请。该账号的最大权益便…

【Windows攻防】恶意软件容器化

# windows 微软在2022年7月为了帮助用户保持安全,在Office中默认阻止了internet宏。 阻止从Internet下载的文档中的VBA宏。 接下来我们来了解一下MOTW标记,其实就是网络标记。 什么是MOTW标记? MOTW全名Mark of the Web,他是windows操作系统中的一个安全特性,为了帮助用户…