首页 > 其他分享 >Avalonia开源控件库强力推荐-Semi.Avalonia

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

时间:2024-11-13 19:43:17浏览次数:1  
标签:控件 Semi https Ursa MIT Avalonia

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

 

Avalonia是什么?

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

MIT 协议的宽松与便利

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

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

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. 官方文档
  1. 源码阅读

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

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

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

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

标签:控件,Semi,https,Ursa,MIT,Avalonia
From: https://www.cnblogs.com/sexintercourse/p/18544652

相关文章

  • 一个C#winform编写的2D数据曲线显示控件,三个Y轴,自定义曲线图表控件,电压电流实时数据曲
    一个C#winform编写的2D数据曲线显示控件,三个Y轴,自定义曲线图表控件,电压电流实时数据曲线,电压电流轨迹曲线实时刷新,点击显示此处数据(附下载链接)调用该控件案例截图如下所示:点我下载此资源》》》》》》》》......
  • MBR20100DC-ASEMI光伏专用二极管MBR20100DC
    编辑:llMBR20100DC-ASEMI光伏专用二极管MBR20100DC型号:MBR20100DC品牌:ASEMI封装:TO-263特性:贴片二极管正向电流:20A反向耐压:100V恢复时间:35ns引脚数量:3芯片个数:2芯片尺寸:MIL浪涌电流:200A漏电流:10ua工作温度:-50℃~150℃包装方式:500/盘;5000/箱备受欢迎的MBR20100DC-ASE......
  • AvaloniaVS2022
    AvaloniaVS.VS2022安装和使用首先下载VS2022专业版https://visualstudio.microsoft.com/zh-hans/downloads/安装AvaloniaforVisualStudio2022扩展包这里直接安装经常失败,我下载AvaloniaVS.VS2022.vsix单独安装,直接以管理员安装就可以,时间有点长,耐心等待打开VS2022......
  • avalonia在linux下运行出现Default font family name can't be null or empty问题的解
    avalonia在linux下运行出现Defaultfontfamilynamecan'tbenullorempty的错误,是因为Avalonia无法确定或找不到默认的字体名,可以先在控制台打命令确定本机安装字体fc-list然后在avalonia项目的program.cs中增加此代码:publicstaticAppBuilderBuildAvalonia......
  • elementUI中时间控件,设置范围一个月的方法
    <template><el-date-pickerstyle="width:260px;"V-model="timeRange"type="daterange"range-separator="value-format="yyyy-MM-dd"start-placeholder="开始日期"end-pla......
  • MUR860AC-ASEMI快恢复二极管MUR860AC
    编辑:llMUR860AC-ASEMI快恢复二极管MUR860AC型号:MUR860AC品牌:ASEMI封装:TO-220AC特性:插件二极管正向电流:8A反向耐压:600V恢复时间:35ns引脚数量:2芯片个数:1芯片尺寸:MIL浪涌电流:125A漏电流:10ua工作温度:-55℃~150℃包装方式:500/盘;5000/箱备受欢迎的MUR860AC-ASEMI快恢复......
  • wpf项目使用winform控件
    环境:Win10、VS2017一、新建WPF项目  2.WPF项目添加System.Windows.Forms和WindowsFormsIntegration引用  3. 编写WPF窗体代码3.1.头部添加引用1xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"2xmlns:wfi="clr-namespace:S......
  • ARL506-ASEMI汽车专用整流二极管ARL506
    编辑:llARL506-ASEMI汽车专用整流二极管ARL506型号:ARL506品牌:ASEMI封装:BUTTON正向电流:50A反向电压:600V正向压降:1.08V引线数量:2芯片个数:1芯片尺寸:MIL漏电流:10ua恢复时间:ns浪涌电流:500A芯片材质:正向电压:1.08V封装尺寸:如图特性:车用二极管工作结温:-65℃~175℃包装方......
  • ARL356-ASEMI车用整流二极管ARL356
    编辑:llARL356-ASEMI车用整流二极管ARL356型号:ARL356品牌:ASEMI封装:BUTTON特性:车用整流二极管正向电流:35A反向耐压:600V恢复时间:ns引脚数量:2芯片个数:2芯片尺寸:MIL浪涌电流:500A漏电流:10ua工作温度:-65℃~175℃包装方式:500/盘;5000/箱备受欢迎的ARL356-ASEMI车用整流二极......
  • Windows无障碍优化:为控件添加可访问标签
    大家好,我是张赐荣。作为一名专注于无障碍优化的工程师,在日常工作中经常会遇到需要为应用添加读屏软件可识别的控件标签的需求。本文将分享我在C/C++中实现这一需求的经验。在c/c++开发的Windows原生应用程序中,通过实现IAccessible接口并处理WM_GETOBJECT消息,我们可以为控件提供......