Avalonia跨平台入门第一篇

作为一枚屌丝程序员来说最大的爱好就是撸代码,有时候根本停不下来(沉迷工作,无法自拔f26ca309534968c2197e06898b61f0ea.png);因为一直都是WPF开发,后面也摸索了一下Xamarin的东西;这不又看到其他人又在搞什么跨平台;我也是手也很痒痒;就像刚开始摸索Xamarin一样,想又不知如何下手;这不再次迈出了第一步去摸索Avalonia.原来一直都想着让别人把坑全部填满再进坑起码会好很多,这次又有点等不及了,啥也不想了干就完了,来直接看看第一版在Ubuntu中的效果:

05152617dc8435f30233f5706f06cdd4.gif

第一版在优麒麟中的效果:

ddd11969d38fffc32dcd277bc4f6ea2f.gif

第二版在Ubuntu中的效果:

de7aa112828c96b49fcc83a80171b86e.gif

第二版在优麒麟中的效果:

503a36a0e170b305cb16aaf2f4993506.gif

开发环境的准备

1、安装Avalonia for Visual Studio

2、linux下dotnet的环境搭建

fe28efffd6eeb3f5ba1485d13ad37a91.png

3、VS下创建工程

56feb49953b0383d4bcaf37897007a5b.png

4、VS下面的目录结构(和WPF没太大区别)

6be45376b6e48dad4d81ec30bf1a059d.png

5、发布设置

d8fe9ab2dcbce0246a235f8977428087.png

6、直接把window上发布生成的linux-x64文件夹全部拷贝到Ubuntu和优麒麟上,然后命令行跑起来;Ubuntu直接双击运行没问题,优麒麟还没研究;最终简单的效果先这样吧b90e34090907278a2680a4418d1bd8e9.png;以后有时间的话,可以再去摸索一下更复杂的效果6c4e101d8bb84a1a51362970b9b6a3c7.png;编程不息、Bug不止、无Bug、无生活cd53a0e058a411c7100a6d12dea11537.png;改bug的冷静、编码的激情、完成后的喜悦、挖坑的激动 、填坑的兴奋;这也许就是屌丝程序员的乐趣吧;今天就到这里吧;希望自己有动力一步一步坚持下去;生命不息,代码不止;大家抽空可以看看今天分享的效果,有好的意见和想法,可以在留言板随意留言;我看到后会第一时间回复大家,多谢大家的一直默默的关注和支持!如果觉得不错,那就伸出您的小手点个赞并关注一下,多谢您的支持!

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

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

相关文章

三角形带优化库nvtrisrip的使用

nvtrisrip是NVIDIA提供的一个开源优化库,这个库可以将三角形顶点索引数组转换为三角形带索引数组。可以极大的提高渲染速度。NVIDIA这个库的官方地址是:http://www.nvidia.com/object/nvtristrip_library.html不过这里代码不全也不够新,推荐从…

angular-ui-tab-scroll

2019独角兽企业重金招聘Python工程师标准>>> A scrollable tab plugin intended for scrolling UI Bootstrap tabset. 功能介绍:http://npm.taobao.org/package/angular-ui-tab-scroll 下载地址:https://github.com/VersifitTechnologies/ang…

为什么?

为什么80%的码农都做不了架构师?>>> 为什么总有那么多的难以忘怀?或许这是前世我们欠下的债吧为什么总觉得别人家的好?却忽视了身边最真实的温暖为什么总是固执的坚持着虚幻的前景?因为就算再小的梦想也有实现的权利为…

抽象类和接口类的区别

2019独角兽企业重金招聘Python工程师标准>>> 一、 抽象类abstract class 1 .抽象类是指在 class 前加了 abstract 关键字且存在抽象方法(在类方法 function 关键字前加了 abstract 关键字)的类。 2 .抽象类不能被直接实…

浅谈C#字符串构建利器StringBuilder

前言在日常的开发中StringBuilder大家肯定都有用过,甚至用的很多。毕竟大家都知道一个不成文的规范,当需要高频的大量的构建字符串的时候StringBuilder的性能是要高于直接对字符串进行拼接的,因为直接使用或都会产生一个新的String实例&#…

linux之如何在任意目录执行我常用的脚本文件

1、问题 比如我们在ubuntu上开发Android的时候,经常会用到jadx、 pidcat.py ,但是我们希望在任何目录都能执行这些命令, 如果不知道pidcat.py是什么东西的,可以先百度 2、解决方式 1)如果是一个脚本文件,比如pidcat.py这个脚本&…

RTMPdump(libRTMP) 源代码分析 10: 处理各种消息(Message)

2019独角兽企业重金招聘Python工程师标准>>> 注:此前写了一些列的分析RTMPdump(libRTMP)源代码的文章,在此列一个列表:RTMPdump 源代码分析 1: main()函数RTMPDump(libRTMP&#xff…

Dapr 助力应用架构的可持续性

在文章亚马逊可持续软件工程实践[1] 有这么一段我们为什么要关注“可持续发展”:联合国于 2015 年制定了一个全球框架《巴黎协定》[2],随后各缔约国纷纷制定了“碳中和”路径和目标,对地球环境的健康发展做出承诺。今年两会,中国也…

计算机无法创建新文件夹,无法创建文件,教您无法新建文件夹怎么办

在使用电脑的过程中,都遇到过电脑出现各种故障的情况,让不少的用户感到懊恼的时刻时有发生,造成非常大的不便,该怎么解决这个烦恼呢?下面,小编给大家分享无法新建文件夹的解决经验。相信在使用电脑是一定会…

我的技术回顾那些与ABP框架有关的故事-2018年

我的技术回顾那些与ABP框架有关的故事-2018年今天准备想写18年的,但是发现我从19年开始就在逐渐淡出社区,因为生活、工作的缘故吧。所以也没什么特别罗列的,就合并下吧。时间真的是可以磨平太多东西了,如果我不去整理资料的话&…

wpa_supplicant 无线网络配置

为什么80%的码农都做不了架构师?>>> 安装wpa_supplicant后,修改服务,编辑 /usr/share/dbus-1/system-services/fi.epitest.hostap.WPASupplicant.service 将下面的 [D-BUS Service] Namefi.epitest.hostap.WPASupplicant Exec/s…

Avalonia跨平台入门第六篇之Grid动态分割

前面玩耍了ListBox多选,今天在他的基础上对Grid进行动态分割;这个效果其实在Xamarin中已经实现过了;其实都没太大区别;直接看效果吧:在ListBox中选择了具体的布局后进行Grid布局分割:具体分割的方法和原来在移动端没啥区别:下一篇就是控件的拖放了;最终简单的效果先这样吧;以后…

使用ABBYY FineReader进行自动图像预处理

2019独角兽企业重金招聘Python工程师标准>>> 扫描图像和数码照片中常见的扭曲文本行、歪斜、噪声和其他缺陷可能会降低识别质量,ABBYY FineReader可自动消除这些缺陷,也允许手动消除。 ABBYY FineReader有几个图像预处理功能,如果…

Avalonia跨平台入门第五篇之ListBox多选

前面我也提前预告了今天要实现的效果;不过中间被卡了一下;今天赶紧去弥补上次要做的效果,其实在WPF效果中已经实现过了,看效果吧:ListBox的前台布局代码:使用的附加属性和WPF好相似:子项模板(绑定写法简化了好多):多值转换器(少了一个ConvertBack):最终简单的效果先这样吧;以后…

Android之android.os.NewWorkOnMainThreadException解决办法

1、问题 用别人提供的的sdk的Demo出现android.os.NewWorkOnMainThreadException 2、解决办法 网络请求开启一个线程请求或者开启异步任务都行 3、总结 1、 之前就看到过这种android.os.NewWorkOnMainThreadException异常,时间很久了,自己也没反映过来&a…

金蝶K/3 WISE 12.3订单跟踪SQL报表

金蝶K3一直缺少完整的跟踪报表,所以我们开发了一张完整的跟踪报表,通过查询分析工具直接生成。代码(WIN2008 R2SQL 2008 R2环境,K3 WISE 12.3):select t1.fname1 客户,t1.fname2 业务员,t1.f_102 款号,t1.f…

开源绘画应用 Pinta 已移植到GTK 3和.NET 6

Pinta [1]是一款开源绘画应用,适用于 Linux、Windows 和 macOS。你可以用它来进行自由手绘/素描。你也可以用它在现有的图片上添加箭头、方框、文字等。年初发布了 Pinta 2.0.2 版本,这是我看到的第一款桌面的dotnet6 和 gtksharp的 应用。Pinta是一个小…

Druid源码分析系列1:dataSource.init()的准备工作

2019独角兽企业重金招聘Python工程师标准>>> 本节,讲解 dataSource.init(); 打断点在 stop in com.alibaba.druid.pool.DruidDataSource.init 好,开始研究代码 public void init() throws SQLException {// 首先确定没有initedif (inited) {r…

软件测试推荐专业,软件测试专业老师推荐信

尊敬的领导:您好!首先感谢您在百忙之中抽出时间来阅读我学生XX的推荐信!该生是XX大学软件测试专业应届毕业生,自进入XX大学以来,凭借自身扎实的基础和顽强拼搏的奋斗精神,经过几年不断的学习,在…

[转]Android中pendingIntent的深入理解

转自;here pendingIntent字面意义:等待的,未决定的Intent。要得到一个pendingIntent对象,使用方法类的静态方法 getActivity(Context, int, Intent, int),getBroadcast(Context, int, Intent, int),getService(Context, int, Intent, int) 分…