Net跨平台UI框架Avalonia入门-安装和使用

news2025/1/15 13:03:15

Avalonia UI是是Net的跨平台UI框架,支持 Windows、Linux、iOS 和 Android,与Net其他UI框架相比,主要是支持Linux。在国产化的需求下,对于C#开发的程序员,Avalonia适合用来开发Linux的桌面客户端。

Avalonia 安装

在这里插入图片描述

安装完成后,根据提示关闭VS

在这里插入图片描述

点击“Modify”安装,完成之后再打开VS

在这里插入图片描述

创建项目中就出现了Avalonia的项目

在这里插入图片描述

常见错误与解决方案

1. 创建项目报错,无法正确加载AvaloniaPackage包,依赖项的包也报错。

win11安装会报这个错误

在这里插入图片描述

暂时未解决,可以尝试重启和修复,建议还是使用Win10开发

1.重启Visual Studio是否能够重新加载,如果无效进行下一步

2.启动Visual Studio Installer安装程序,进行修复,修复完进行重启电脑

在这里插入图片描述

问题2. 设计器不显示

在这里插入图片描述

解决方案:

运行或者生成一下启动项目,设计器就会出现

在这里插入图片描述

使用

在Avalonia中,设计器只能预览,无法进行控件添加移动等操作,也没有属性界面,控件和属性都需要手动输入

Avalonia的前台UI文件是axaml,其格式和编写方式大致与WPF的XAML一样,不过在IDE中缺少工具箱和属性面板,控件基本靠手写。
在代码中加入一些常用的控件,如GridButtonTextBox等,编写属性和事件,常用的如MarginBackgroundVerticalAlignmentHorizontalAlignment等属性与WPF一样,事件如:ButtonClick也是一样。

XAML:

<Window xmlns="https://github.com/avaloniaui"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
        x:Class="AvaloniaApplication1.MainWindow"
        Title="Avalonia跨平台应用">
  <Grid Background="Gray" >

    <Button HorizontalAlignment="Left" 
            VerticalAlignment="Top" 
            Margin="10,50,0,0" 
            Content="按钮" 
            Background="Red" 
            BorderBrush="Green"
            BorderThickness="5"  Click="Button_Click">
    </Button>
    <TextBox  HorizontalAlignment="Left" VerticalAlignment="Top" Text="111" ></TextBox>
    <TextBlock VerticalAlignment="Center" Text="43253543" >
    </TextBlock>
  </Grid>

</Window>

cs:

 public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();

        }

        private void Button_Click(object sender,RoutedEventArgs e)
        {
            var btn = (Button)sender;
            btn.Content = "触发";
        }
    }

效果:

在这里插入图片描述

常见的问题:

输入Click无法识别和生成,显示错误,需要手动编写前后台的代码,手动写了后台的事件,生成一下项目就正常了。

在这里插入图片描述

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

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

相关文章

SpringBoot——日志

简单介绍&#xff1a; 在我们的程序开发中&#xff0c;日志的存在是必不可少的&#xff0c;日志可以帮助我们观察程序的运行过程&#xff0c;报错信息&#xff0c;各种警告&#xff0c;在我们调试程序的时候起到了非常大的作用。那么在SpringBoot中&#xff0c;我们在每次启动…

6.4.1最小生成树(Prim和kruskal算法)

生成树的概念&#xff1a; 连通图的生成树是包含图中全部顶点的一个极小连通子图 &#xff08;边尽可能的少&#xff0c;但要保持连通&#xff09; 若图中顶点数为n&#xff0c;则它的生成树中含有n-1条边。对于生成树而言&#xff0c;若看去他的一条边&#xff0c;则会变成…

软件测试太卷了,三个练手的软件测试实战项目偷偷提升自己(附全套视频跟源码)

项目一&#xff1a;12306抢票项目 项目测试目的 学会Selenium定位web元素的方法 熟练浏览器调试工具使用 项目主体步骤 1&#xff09; 人工走一遍流程&#xff0c;对自动化的流程心中有数 2&#xff09; 按步骤拆分&#xff0c;然后对每一个小步骤编写自动化脚本 3&#xf…

1.8G专网5G工业路由器助力智能电网-电力物联网方案

随着智能电网的普及与使用&#xff0c;电力终端的数量也日益剧增&#xff0c;由于间距较远、位置偏僻的特性&#xff0c;造成监管难、效率低、成本高等管理维护难题。 5G的价值也体现了由实验室走向垂直行业应用&#xff0c;赋予各行各业高效组网、高速用网的应用体验。智联物联…

PowerBi连接MySQL提示需安装组件才能使用,本人删去已经下载好的组件,再做一份详细教程。

问题 当我们用PowerBi连接Mysql时候&#xff0c;他突然提示我们需要安装组件。 解决 检查自己的MySQL版本 打开cmd运行框,输入命令mysql -uroot -p,再输入数据库密码 输入select version(); 我这里是8.0.16版本&#xff0c;记住自己的版本号 下载 mysql connector https:/…

在 EKS 上部署 HummerRisk

HummerRisk 是开源的云原生安全平台&#xff0c;以非侵入的方式解决云原生环境的安全和治理问题。核心能力包括混合云的安全治理和容器云安全检测。本文讲介绍如何在 EKS 上部署 HummerRisk。 EKS 简介 Amazon Elastic Kubernetes Service&#xff08;Amazon EKS&#xff09;…

python创建用户界面之PyQt5的使用

首先我们winR输入cmd 有两种方法下载PyQt5 方法一&#xff1a; pip install PyQt5 pip install PyQt5-tools 方法二&#xff1a; pip install PyQt5 -i https://pypi.douban.com/simple pip install PyQt5-tools -i https://pypi.douban.com/simple 下载好了之后我们打开 Pych…

idea热部署插件JRebel激活(强烈推荐,试试就离不开了)

JRebel可以实现在idea中热部署项目&#xff0c;修改后不用重启项目&#xff0c;让开发更丝滑。 JRebel需要激活才可以正常使用。 一、快速使用 1、idea安装JRebel插件。 File>Settings>Plugins 搜索JRebel 2、激活 1&#xff09;填写激活信息 个人部署的注册服务器&…

加密解密软件VMProtect教程(七):主窗口之控制面板“详情”部分

VMProtect是新一代软件保护实用程序。VMProtect支持德尔菲、Borland C Builder、Visual C/C、Visual Basic&#xff08;本机&#xff09;、Virtual Pascal和XCode编译器。 同时&#xff0c;VMProtect有一个内置的反汇编程序&#xff0c;可以与Windows和Mac OS X可执行文件一起…

低代码与其拓荒,不如颠覆开发行业

目录 一、前言 二、低代码是一个值得信赖的“黑盒子” 粗略总结&#xff0c;开发者对低代码平台所见即所得设计器有两种反应&#xff1a; 三、人人都爱黑盒子 四、用“低代码平台”来开发是什么样的感受&#xff1f; 五、结论 一、前言 在科幻电影中&#xff0c;我们看到…

图片去底色,让您的产品瞬间脱颖而出

在现代社会中&#xff0c;图片是我们不可或缺的一部分&#xff0c;在各行业中都有着非常重要的作用。但是&#xff0c;有时候我们需要将某些图片中的背景去除&#xff0c;以便更好地突出主体&#xff0c;这时候&#xff0c;图片去底色就起到了非常重要的作用。 图片去底色的优…

论文、专利、文献检索及图像数据工具总结

一、文献检索 1、中文文献检索参考 中文文献途径网址用途1知网https://www.cnki.net/文献检索、下载2万方数据网https://www.wanfangdata.com.cn/文献检索、下载3维普期刊http://lib.cqvip.com/文献检索、下载4浙江图书馆https://www.zjlib.cn/#searchs_1_div文献检索、下载5…

一站式数据分析学习,让你成为一名合格的数据分析师

一站式数据分析学习&#xff0c;让你成为一名合格的数据分析师 随着数字化时代的到来&#xff0c;数字经济已然成为了新的发展潮流&#xff0c;数据的重要性越发显著。加上大数据、人工智能、云计算等数字技术的发展&#xff0c;让数字化时代的步伐迈得更快&#xff0c;目前已经…

为减少来自环境使用的无线传感器网络的传输次数而开发的方法(Matlab代码实现)

目录 &#x1f4a5;1 概述 &#x1f4da;2 运行结果 &#x1f389;3 参考文献 &#x1f468;‍&#x1f4bb;4 Matlab代码 &#x1f4a5;1 概述 随着无线传感器网络(Wireless Sensor Network,WSN)的广泛应用,业界开始应用环境能量收集技术解决传感器节点的能量补充问题。而…

template和component自定义组件之间的区别

在小程序中自定义组件 component 方式和组件模板 template 2种方式实现页面组件化。 一、component自定义组件 1.概念 自定义组件是指可以被多个页面使用的组件&#xff0c;可以在小程序中多次复用。在开发中可以将一个页面中的代码和样式抽象出来&#xff0c;然后创建一个自定…

百汇BCR:如何参与外汇交易?哪个交易时间更好?

外汇市场时连续24小时运转的&#xff0c;也就是说随时都可以参与交易。那不同的交易时间进场是否会影响交易结果&#xff1f;哪个时间参与交易更好&#xff1f; 一、国际主要市场外汇交易时间&#xff08;北京时间&#xff09; 新西兰惠灵顿外汇市场&#xff1a;04&#xff1a…

基于微信小程序的新冠疫苗预约系统

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;微信小程序 && Vue 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项…

ABAP OOALV模板(Custom Control)

该方法OOALV需要将ALV置入屏幕上的自定义控件中 alv较少时具有代码可读性可维护性高的特点&#xff0c;实现起来较为简单&#xff0c;但由于custom control固定了位置所以无法动态拖拽边框 创建报表程序后通过se80对象浏览器新建屏幕9001 点击布局进入屏幕制作器界面 将custom…

Cy5.5-PEG2000-NHS; NHS-PEG-Cy5.5,活性荧光标记材料,可用于标记抗体多肽

CY5.5-PEG-NHS&#xff0c;CY5.5-聚乙二醇-活性酯 中文名称&#xff1a;CY5.5-聚乙二醇-活性酯 英文名称&#xff1a;CY5.5-PEG-NHS 性状&#xff1a;粉末或固体&#xff0c;取决于分子量 溶剂&#xff1a;溶于水和大部分常规有机溶剂 分子量&#xff1a;1k、2k、3.4k、5k…

YouCompleteMe(YCM)安装

vim在各个linux版本中是个比较好编辑器&#xff0c;反正nano我是用不惯。但这个ycm的安装也是不断的在变&#xff0c;现在的安装比之前要简单的多&#xff0c;基本个几命令就搞定了&#xff0c;而且 也不用关心系统里有没有vim,ycm已经可以自动安装。具体安装步骤如下&#xff…