Avalonia开源控件库强力推荐-Semi.Avalonia

news/2024/11/5 9:20:49/文章来源:https://www.cnblogs.com/Dotnet9-com/p/18527179

Avalonia是什么?

Avalonia是一个强大的框架,使开发人员能够使用.NET创建跨平台应用程序。它使用自己的渲染引擎绘制UI控件,确保在Windows、macOS、Linux、Android、iOS和WebAssembly等不同平台上具有一致的外观和行为。这意味着开发人员可以共享他们的UI代码,并在不同的目标平台上保持统一的外观和感觉。

MIT 协议的宽松与便利

MIT 协议(The MIT License)是一种简洁且宽松的开源软件许可协议。它允许使用者自由使用、复制、修改、合并、发布、分发、再许可和 / 或销售软件副本。使用者在软件和软件的所有副本中都必须包含版权声明和许可声明。MIT 协议对使用者的限制很少,基本上赋予了使用者极大的自由,适用于各种开源项目,鼓励代码的共享和重用,促进软件技术的快速发展。

Dotnet和Avalonia都是MIT协议,相关的代码地址是:

  • Dotnet:https://github.com/microsoft/dotnet
  • Avalonia:https://github.com/AvaloniaUI/Avalonia

Semi.Avalonia和Ursa.Avalonia

(一)Semi.Avalonia - 主题风格的魅力实现

Semi.Avalonia,这是以 MIT 协议开源的 Avalonia UI 框架下的 Semi Design 主题风格的精妙呈现。它为应用程序带来独特的视觉风格,如同一幅精美的画卷,为用户界面增添了丰富的色彩和质感。

其仓库地址为:https://github.com/irihitech/Semi.Avalonia

(二)Ursa.Avalonia - 自定义控件的创新力量

搭配同样遵循 MIT 协议的Ursa.Avalonia自定义控件库,更是如虎添翼。它们携手为开发者缔造全新的视觉与功能体验,仿佛为开发之旅开启了一扇通往无限可能的大门。

仓库地址:https://github.com/irihitech/Ursa.Avalonia

在信创及国产操作系统领域表现

值得一提的是,这两个库在信创及国产操作系统领域表现出色,已完成与龙芯 3A6000 和龙架构(LoongArch™)的兼容互认证,这是自主可控和国产化技术推进的重要成果。

下面信息引用来自微信公众号【铱泓科技】8月2号的文章 《Ursa与Semi正式完成龙架构兼容互认证》:

大熊Ursa和Semi两大Avalonia控件集已经完成与龙芯3A6000和龙架构(LoongArch™)的兼容互认证。这一重要的里程碑标志着我们在推进自主可控和国产化技术方面取得了新的进展。

控件部分截图

控件虽各有特色,但都展现出独特的魅力。简单截取几张图,让您一窥其貌:

Semi.Avalonia主题库一览:

Semi.Avalonia截图

Ursa.Avalonia自定义控件库一览:

Ursa.Avalonia

实际案例分享

站长公司项目使用了该控件,虽不便截图展示,但可参考站长使用 Avalonia UI 搭配该主题及控件库编写的工具CodeWF.Toolbox:

仓库:https://github.com/dotnet9/CodeWF.Toolbox

该小工具使用Avalonia+Prism 8模块化开发,AOT 发布后的文件组织结构:

其具备黑白主题,营造出不同的视觉氛围:

还实现了国际化功能,为全球用户提供便捷体验:

国际化

同时,包含实用的 Json 美化工具和 YAML 转 Json 工具,分别如下图所示:

Json 美化工具

YAML转Json工具

使用经验分享

  1. 官方文档
  • Semi文档:https://docs.irihi.tech/semi
  • Ursa文档:https://docs.irihi.tech/ursa/
  1. 源码阅读

首先,克隆控件仓库(上面给出了地址),依据 Readme 及 Demo 运行效果进行查找。例如,若觉得 Button 的 Warning 效果出色:

可使用 VS Code 或 VS 打开仓库:

  1. 展开Semi.Avalonia.Demo
  2. 找到Pages目录,打开ButtonDemo.axaml
  3. 根据界面关键字Solid、Waring找到需要的样式

如此,便能轻松驾驭这些优秀的控件,为开发工作增添效率与魅力。希望本文能为您在 Avalonia 开源控件库的探索之旅中提供有益的指引和启发,让您在开发道路上创造出更加精彩的应用程序。

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

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

相关文章

浮点数格式化小探究

本文介绍了浮点数格式化舍入问题上的一点小探究,在此总结。在最近的工作中,遇到一个浮点数格式化问题,蛮有意思的,是之前所没遇到过的知识点,在此整理总结。 问题描述 一句话描述问题,将一个3位小数的浮点数,格式化为2位小数的,是什么样的舍入规则?一般想着的是四舍五…

【教程】使用 eac3to 编码高清音频

原文转自GPW,感谢原文作者对此文的撰写,本文略有修改!修改如下:删除:改进 24 bit 音频流的文件大小相关URL首先,你需要下载 eac3to。如果你想要编码 AAC,那么你还需要 QAAC 和 AppleApplicationSupport。eac3to 是一款命令行工具,你可以通过 Windows 10 的命令提示符运…

PbootCMS 修改域名授权提示信息

PbootCMS程序上传到服务器后,如果没有到官网获取域名授权码会提示未授权的相关提示信息,但是有时候我们是给客户使用,并不想客户看到此信息,那么怎么办呢? 其实官方已经预制了免费的解决方案,只需要在网站根目录下新建一个 `sn.html` 的文件,里面编写自己的提示信息,比…

帝国CMS密码忘记重置方法

如果你忘记了帝国CMS的后台管理密码,可以通过以下步骤进行重置:备份数据库:在进行任何数据库操作之前,请确保备份当前的数据库,以防止数据丢失。登录数据库:使用数据库管理工具(如phpMyAdmin)登录到你的数据库。找到用户表:寻找名为 phome_enewsuser 的表,这是存储管…

织梦dede上传图片提示缺少图像源文件地址

检查 uploads 文件夹权限确保 uploads 文件夹有写入权限。检查 php.ini 配置确保 upload_tmp_dir 有自定义路径,并且该路径有写入权限。 如果没有自定义路径,可以尝试切换PHP版本。检查上传文件大小限制确保上传的图片文件大小不超过 php.ini 中 post_max_size 和 upload_max…

开源自托管数据管理工具全面指南

探索最佳开源自托管数据管理工具,如 NocoBase,Airflow,Singer 等。在大数据时代,企业和组织面临着海量的数据挑战。随着应用程序复杂性的提高以及用户需求不断演变,开发团队需要高效地处理大量数据,以便快速做出决策。然而,在众多信息中,如何识别并有效利用那些对决策至…

数据安全秘籍:500强企业的经典传输案例大揭秘

很多企业都会有数据安全建设的烦恼,不知道从何开始,哪里又是建设重点?那不妨借鉴一下500强企业的做法,它们在数据安全建设方面通常采取多层次的策略,具体包括以下几个方面: 风险评估与管理:定期进行全面的风险评估,识别数据安全风险,制定相应的管理策略。 安全政策与标…

异源数据同步 → DataX 同步启动后如何手动终止?

开心一刻 刚刚和老婆吵架,气到不行,想离婚女儿突然站出来劝解道:难道你们就不能打一顿孩子消消气,非要闹离婚吗?我和老婆同时看向女儿,各自挽起了衣袖女儿补充道:弟弟那么小,打他,他又不会记仇需求背景 项目基于 DataX 来实现异源之间的数据离线同步,我对 Datax 进行…

开源的 API 学习平台「GitHub 热点速览」

前有 5 万颗星标的开源项目 HTTPie 因误操作导致 Star 清零(2022 年),上周知名开源项目 Elasticsearch 也经历了 Star 一夜清零的事件。这些事故的原因均是管理员误将开源项目从公开状态转为私有状态所导致。为避免类似事件再次发生,GitHub 已在转为私有的功能处增加了两次…

一文夯实垃圾收集的理论基础

如何判断一个引用是否存活 引用计数法 给对象中添加一个引用计数器,每当有一个地方引用它,计数器就加 1;当引用失效,计数器就减 1;任何时候计数器为 0 的对象就是不可能再被使用的。 优点:可即刻回收垃圾,当对象计数为0时,会立刻回收; 弊端:循环引用时,两个对象的计…