AvaloniaUI(一、开篇安装使用)

发布时间 2023-07-25 14:07:54作者: 我是刹那、

  自从.net core 出来以后,我就一直再找.net跨平台的ui框架,从最开始期待maui 到后来看到的国产的cpf我感觉都有点差强人意(主要是我不习惯),之前也有关注过avalonia,但是刚开始的时候也没时间来研究,最近一次看avaionia已经更新到了11版本,于是自己赶快下载来看看,因为好多社区开源的版本都更新不下去,avalonia虽然社区很活跃,但是国内关于它的资料非常少,大部分也是以前的版本,毕竟国内环境用这个的还是非常少,大部分都是qt,不过我还是比较喜欢xaml。

  本次使用的开发工具是 visual studio 2022 ,avalonia版本是11.0.0,.net 版本使用的是.net 7 ,测试用的操作系统是 windows10 和 银河麒麟v10 sp1

  一、如何安装 avaonia?

  在vs2022菜单栏中找到“扩展”----》“管理扩展” 选择联机,并搜索 关键词为“Avalonia” 然后选择  “avalonia for visual studio 2022” 下载安装

安装完,重启vs,然后就可以在项目模板中选择新建avalonia项目了

 然后我们按照项目模板下一步下一步就可以新建一个avalonia的项目了

 

 这样我们就得到了一个avalonia的项目

把*.Desktop的项目设置为启动项目 

直接运行起来,看看效果

 这样我们第一步就完成了~~~~~撒花

二、如何在Linux上运行?(macOS 没有条件测试T^T)

这个比较简单,直接在*.Desktop的项目上右键选择“发布”,选择要运行的平台就可以了。我们这里选择部署方式为“独立”,就是目的操作系统上不用安装.net 运行时,如果选择依赖运行时需要提前安装

然后目标运行时选择“LInux-x64”(我这里安装的是虚拟机操作系统是银河麒麟v10)

 点击保存后 再点击发布选项,就会编译好到目标位置

然后我们把发布好的程序放到银河麒麟操作系统上运行看看

 

这个时候,这个*.Desktop就是需要运行的程序,此时还不能运行,需要给他一个可以执的权限,在这个文件夹内右键“打开终端”,然后执行

chmod +x AvaloniaFirst.Desktop 回车,给他一个可以执行的权限,

然后 ./AvaloniaFirst.Desktop 这个程序就能运行起来了

 

注意,运行的时候可能会报这样的错误

 

 网上查好像是说没有微软雅黑的字体

这时候需要执行 

apt install ttf-mscorefonts-installer

来安装字体,但是我执行后还是会报错,于是我从github上查到了,应该是程序编码的问题,用写一个脚本 或者修改一下环境变量就好了

具体如下

脚本

#!/bin/bash
export LC_CTYPE=en_US.UTF-8 && ./AvaloniaFirst.Desktop

或者直接在/etc/profile文件下追加

export LC_CTYPE=en_US.UTF-8

保存退出后 执行 source /etc/profile

就可以了。

至此一个Avalonia跨平台(Linux,Windows)程序就运行起来了

撒花~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~