Avalonia学习(二十)-登录界面演示

今天开始继续Avalonia练习。

本节:演示实现登录界面

在网上看见一个博客,展示Avalonia实现,仿照GGTalk,我实现了一下,感觉是可以的。将测试的数据代码效果写下来。主要是样式使用,图片加载方式。

只有前台代码

<Window xmlns="https://github.com/avaloniaui"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:vm="using:LoginAvalonia.ViewModels"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="LoginAvalonia.Views.MainWindow"x:DataType="vm:MainWindowViewModel"Icon="/Assets/users2.png"Width="430"Height="340"CanResize="False" WindowStartupLocation="CenterScreen"Title="LoginAvalonia"><Design.DataContext><!-- This only sets the DataContext for the previewer in an IDE,to set the actual DataContext for runtime, set the DataContext property in code (look at App.axaml.cs) --><vm:MainWindowViewModel/></Design.DataContext><Window.Styles ><Style Selector="TextBox.tb1"><Setter Property="Margin" Value="0,-40,0,0"/><Setter Property="Height" Value="26"/><Setter Property="Width" Value="250"/><Setter Property="Watermark" Value="账号"/><Setter Property="BorderBrush" Value="#80c0ff"/></Style><Style Selector="TextBox.tb2"><Setter Property="Margin" Value="0,35,0,0"/><Setter Property="Height" Value="26"/><Setter Property="Width" Value="250"/><Setter Property="Watermark" Value="密码"/><Setter Property="BorderBrush" Value="#80c0ff"/><Setter Property="PasswordChar" Value="*"/></Style><!--######<TextBox标签>######--><Style Selector="Image.img1"><Setter Property="Margin" Value="0,-250,0,0"/><Setter Property="Width" Value="430"/></Style><Style Selector="Image.img2"><Setter Property="Margin" Value="0,-190,0,0"/><Setter Property="Width" Value="73"/><Setter Property="Height" Value="73"/></Style><!--######<Image标签>######--><Style Selector="TextBlock.tbk1"><Setter Property="Margin" Value="5,5,0,0"/><Setter Property="Foreground" Value="White"/></Style><Style Selector="TextBlock.tbk2"><Setter Property="Margin" Value="292,213,0,0"/><Setter Property="Foreground" Value="#0c7ab9"/><Setter Property="Cursor" Value="Hand"/></Style><Style Selector="TextBlock.tbk3"><Setter Property="Margin" Value="275,305,0,0"/><Setter Property="Foreground" Value="#696969"/></Style><!--######<TextBlock标签>######--><Style Selector="Button.bt1"><Setter Property="Margin" Value="100,195,0,0"/><Setter Property="Width" Value="250"/><Setter Property="Height" Value="40"/><Setter Property="Background" Value="#407cff"/><Setter Property="Foreground" Value="White"/><Setter Property="FontSize" Value="17"/><Setter Property="HorizontalContentAlignment" Value="Center"/><Setter Property="VerticalContentAlignment" Value="Center"/></Style><!--######<Button标签>######--><Style Selector="CheckBox.cbx1"><Setter Property="Margin" Value="89,105,0,0" /><Setter Property="BorderBrush" Value="#3c9fc5"/></Style><Style Selector="CheckBox.cbx2"><Setter Property="Margin" Value="190,105,0,0"/><Setter Property="BorderBrush" Value="#3c9fc5"/></Style><!--######<CheckBox标签>######--></Window.Styles><StackPanel><Border Background="White"BorderBrush="Gray"BorderThickness="1"Padding="0"Width="430"Height="340"><Grid><Image Classes="img1" Source="avares://LoginAvalonia/Assets/image_sign.png" ></Image><Image Classes="img2" Source="avares://LoginAvalonia/Assets/8.png" /><TextBlock Classes="tbk1">GGTalk 2020</TextBlock><TextBlock Classes="tbk2">注册登录</TextBlock><TextBlock Classes="tbk3">企业即时通讯系统</TextBlock><TextBox Classes="tb1"/><TextBox Classes="tb2"/><CheckBox Classes="cbx2" >自动登录</CheckBox><CheckBox Classes="cbx1" >记住密码</CheckBox><Button Classes="bt1" >登录</Button></Grid></Border></StackPanel>
</Window>

运行效果:

使用的图片:

1.

2.

3.

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

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

相关文章

分布式I/O应用于智慧停车场的方案介绍

客户案例背景 目前车位检测技术有磁电技术、超声波技术、红外线技术、图像识别车位技术。考虑到例如电磁干扰、信号干扰等的环境因素影响&#xff0c;通常会采用组合使用的方式进行&#xff0c;如采用不同的传感器、应用不同的协议等&#xff0c;以便提高车位检测的准确性和实时…

python接口自动化(九)--python中字典和json的区别(详解)

1.简介 这篇文章的由来是由于上一篇发送post请求的接口时候&#xff0c;参数传字典&#xff08;dict&#xff09;和json的缘故&#xff0c;因为python中&#xff0c;json和dict非常类似&#xff0c;都是key-value的形式&#xff0c;为啥还要这么传参&#xff0c;在群里问了一些…

Hyperledger Fabric 消息协议

Fabric 中大量采用了 gRPC 消息在不同组件之间进行通信交互&#xff0c;主要包括如下几种情况&#xff1a;客户端访问 Peer 节点&#xff0c;客户端和 Peer 节点访问排序节点&#xff0c;链码容器与 Peer 节点交互&#xff0c;以及多个 Peer 节点之间的 Gossip 交互。 消息结构…

AI交互数字人怎么应用在展览展厅?

随着AIGC的迅速发展&#xff0c;AI交互数字人成为展览展厅的新流量密码。越来越多文旅品牌、博物馆展馆等通过部署AI交互数字人&#xff0c;开创全新的交互模式。 如山西博物馆上线的主题云展览《且听凤鸣》中&#xff0c;打破了常态展示模式&#xff0c;以“数字人小程序”的方…

项目知识—SSM及之后02

1、resultMap写的Base内容必须保证select都使用上 2、VALUE单个 &#xff0c;VALUES多个 3、一对多&#xff0c;两张表&#xff0c;多的表加外键 比如班级和学生就是一对多&#xff0c;查就是按照学生表去查询 多对多&#xff0c;三张表&#xff0c;关系表加外键 4、数据库…

论文阅读 Attention is all u need - transformer

文章目录 1 摘要1.1 核心 2 模型架构2.1 概览2.2 理解encoder-decoder架构2.2.1 对比seq2seq&#xff0c;RNN2.2.2 我的理解 3. Sublayer3.1 多头注意力 multi-head self-attention3.1.1 缩放点乘注意力 Scaled Dot-Product Attention3.1.2 QKV3.1.3 multi-head3.1.4 masked 3.…

中国IT产经新闻:新能源汽车发展前景与燃油车的利弊之争

随着科技的进步和环保意识的提高&#xff0c;新能源汽车在全球范围内逐渐受到重视。然而&#xff0c;在新能源汽车迅速发展的同时&#xff0c;燃油车仍然占据着主导地位。本文将从新能源与燃油车的利弊、新能源汽车的发展前景两个方面进行分析&#xff0c;以期为读者提供全面的…

婚恋/社交娱乐/同城相亲/红娘相亲交友软件开发小程序

需求分析&#xff1a;首先明确小程序的目标、功能和用户需求。确定小程序的主要功能&#xff0c;例如用户注册、登录、个人资料编辑、浏览其他用户资料、发送消息等。 技术选型&#xff1a;选择适合的开发框架和技术工具。在小程序开发中&#xff0c;可以使用微信小程序原生开…

kubernetes 容器运行环境安全 POLP AppArmor Seccomp

开头语 写在前面&#xff1a;如有问题&#xff0c;以你为准&#xff0c; 目前24年应届生&#xff0c;各位大佬轻喷&#xff0c;部分资料与图片来自网络 内容较长&#xff0c;页面右上角目录方便跳转 最小特权原则 POLP 最小特权原则 (Principle of least privilege,POLP)&…

机器人技能学习-robosuite-0-入门介绍

文章目录 前言模块介绍实战案例1&#xff1a;从 demo 中创建自己的 env案例2&#xff1a;更换属于自己的物体 前言 资料太少、资料太少、资料太少&#xff0c;重要的事说三边&#xff0c;想根据自己实际场景自定义下机器人&#xff0c;结果发现无路可走&#xff0c;鉴于缺少参…

网络协议与攻击模拟_01winshark工具简介

一、TCP/IP协议簇 网络接口层&#xff08;没有特定的协议&#xff09; 物理层&#xff1a;PPPOE宽带拨号&#xff08;应用场景&#xff1a;宽带拨号&#xff0c;运营商切网过来没有固定IP就需要拨号&#xff0c;家庭带宽一般都采用的是拨号方式&#xff09;数据链路层网络层…

【办公自动化】Window电脑如何设置定时任务计划

在Windows系统中&#xff0c;我们可以使用任务计划程序来创建和管理定时任务。任务计划程序是Windows操作系统自带的一个功能&#xff0c;可以帮助我们自动执行一些重复性的任务&#xff0c;例如备份文件、更新软件等。 一、打开任务计划程序 首先&#xff0c;我们需要打开任…