草庐IT

Avalonia

全部标签

使用Avalonia跨Linux平台

Avalonia,读:阿瓦隆尼亚这里的跨平台指的是,使用c#语言开发跨Linux平台。c#在Windows桌面开发中很强,但是在Linux桌面中,不能跨平台,Qt可以在Linux中跨平台,但是那是另外一门语言了。Avalonia类似使用WPF的技术方法来开发,所以,需要会使用WPF,其中的一些语法和写法与WPF有所区别,但是他们相差不大,会WPF的话,基本上可以看看文档后,完全掌握Avalonia的使用,从而达到跨平台开发的任务。官网的资料是:Welcome-AvaloniaUI1.安装Avalonia,打开vs2022,选择管理拓展,点击下载,安装2.安装完成后,重启VS2022,我们可以看

解决WPF+Avalonia在openKylin系统下默认字体问题

一、openKylin简介openKylin(开放麒麟)社区是在开源、自愿、平等和协作的基础上,由基础软硬件企业、非营利性组织、社团组织、高等院校、科研机构和个人开发者共同创立的一个开源社区,致力于通过开源、开放的社区合作,构建桌面操作系统开源社区,推动Linux开源技术及其软硬件生态繁荣发展。“开放麒麟”(openKylin)是中国首个桌面操作系统开发者平台,由国家工业信息安全发展研究中心等单位联合成立,通过开放操作系统源代码的方式打造具有自主创新技术的开源桌面操作系统。系统镜像下载地址:https://www.openkylin.top/downloads/index-cn.html二、A

OpenKylin上运行Avalonia应用

VS安装Avalonia模版执行以下命令,安装Avalonia模版(.NET6及之前版本使用--install):dotnetnewinstallAvalonia.Templates执行后,会安装如下模版:模板名短名称语言标记------------------------------------------------------------------------------------------------------------Avalonia.NETAppavalonia.app[C#],F#Desktop/Xaml/Avalonia/Windows/Linux/macOSAval

解决Avalonia 11.X版本的中文字体问题

网上搜索的方法使用接口“IFontManagerImpl”这个方法目前只能用于Avalonia10.X版本,因为11版本后官方把这个接口的成员都设置成了非plubic,所以之前的版本解决办法用不上了,经过搜索github的官方那边的问题集锦,要解决解决Avalonia11.X版本的中文字体问题有2个思路:1.在程序里面嵌入TTF字体文件2.把字体文件安装到linux系统,设置代码使用这里我成功了第一种方法,运行环境:银河麒麟v10+net6.0+Avalonia11.0.2+微软雅黑字体 第一步,创建项目:net6.0+Avalonia11.0.2,项目文件内容如下所示:ProjectSdk=

Avalonia 列表拖拽替换

实现目标,在一个ListBox中选择一个子项进行拖拽到另一个ListBox中,拖拽到某一子项区域进行替换axaml代码1ListBox2Name="consumableListBox"3Margin="5"4ItemsSource="{BindingConsumableList}"5SelectionMode="Single">6ListBox.ItemTemplate>7DataTemplate>8StackPanelMargin="5,5,5,0">9Border10Width="160"11Height="100"12Margin="0,0,0,5"13HorizontalAlignme

如何在Avalonia11中设置自定义字体

如何在Avalonia11中设置自定义字体由于avalonia默认的中文字体显示的效果不太理想,我们需要下载一些自定义的字体,来优化UI的显示效果。avalonia的官方文档地址。对我在项目中运用的自定义字体操作做一个记录和分享,希望对大家有帮助。对应的代码都在基于Avalonia的GPT的AI会话项目用应用。采用的是最新稳定版本11.0.0-rc1.1。希望通过该项目了解和学习Avalonia开发的朋友可以在我的github上拉取代码,同时希望大家多多点点star。https://github.com/raokun/TerraMours.Chat.Ava1.添加资源代码如下avares://

Avalonia项目在OpenKylin运行踩坑

Avalonia项目在OpenKylin运行踩坑本篇博客记录OpenKylin开源操作系统中运行Avalonia项目遇到的各种问题,会一直更新,最新的内容请点击文末的链接跳转到我的博客原文地址查看。1.Defaultfontfamilynamecan'tbenullorempty报错内容:Unhandledexception.System.InvalidOperationException:Defaultfontfamilynamecan'tbenullorempty.atAvalonia.Media.FontManager..ctor(IFontManagerImplplatformImpl

Avalonia中用FluentAvalonia+DialogHost.Avalonia实现界面弹窗和对话框

Avalonia中用FluentAvalonia+DialogHost.Avalonia实现界面弹窗和对话框本文是项目中关于弹窗界面设计的技术分享,通过FluentAvalonia+DialogHost.Avalonia开源nuget包来实现项目中需要弹框显示的界面和所有的对话框的展示。效果如下:1.项目介绍本项目是基于Avalonia的GPT的AI会话项目。采用的是最新稳定版本11.0.0-rc1.1。希望通过该项目了解和学习Avalonia开发的朋友可以在我的github上拉取代码,同时希望大家多多点点star。https://github.com/raokun/TerraMours.Ch

Avalonia 使用EFCore调用SQLite实现Singleton全局注册

Avalonia使用EFCore调用SQLite实现Singleton全局注册本篇博客是我的开源项目TerraMours.Chat.Ava的更新的记录分享,本次更新使用EntityFrameWorkCore调用SQLite,实现数据的本地化和查询的优化,删除了dbpross类(直接调用SQLite的操作类)。大大提高了代码的简洁度和易读性。通过全局注册的ChatDbcontext对象,是操作数据库变的非常方便。对项目感兴趣的同学可以到github上搜索TerraMours.Chat.Ava。希望通过该项目了解和学习Avalonia开发的朋友可以在我的github上拉取代码,同时希望大家多多点点

基于Avalonia 11.0.0+ReactiveUI 的跨平台项目开发2-功能开发

基于Avalonia11.0.0+ReactiveUI的跨平台项目开发2-功能开发项目简介:目标是开发一个跨平台的AI聊天和其他功能的客户端平台。目的来学习和了解Avalonia。将这个项目部署在openKylin1.0的系统上。为什么使用Avalonia:之前已经了解了基于Avalonia的项目在国产麒麟系统中运行的案例。正是Avalonia在跨平台的出色表现,学习和了解Avalonia这个UI框架显得十分有必要。本项目采用的是最新稳定版本11.0.0-rc1.1。希望通过该项目了解和学习Avalonia开发的朋友可以在我的github上拉取代码,同时希望大家多多点点star。https:/