使用XAML语言仿写BiliBil登录界面

实现步骤
实现左右布局
- 使用了Grid两列的网格布局,第一列宽度占35%,第二列宽度占65%。
- 使用容器布局Border包裹左右布局内容,设置背景色、设置圆角
<!-- 定义两列-->
<Grid.ColumnDefinitions><ColumnDefinition Width ="0.35*"></ColumnDefinition><ColumnDefinition Width ="0.65*"></ColumnDefinition></Grid.ColumnDefinitions><!-- 左侧布局具体实现-->
<Border Grid.Column="0" CornerRadius="10,0,0,10"><Border.Background><LinearGradientBrush StartPoint="0,0" EndPoint="1,1"><GradientStop Color="#00999A" Offset="0"/><GradientStop Color="#0072c0" Offset="1"/></LinearGradientBrush></Border.Background>
</Border>
<!-- 右侧布局具体实现--><Border Grid.Column="1" CornerRadius="0,10,10,0" Background="WhiteSmoke"></Border>
编写左侧布局
Grid.Column="1" 这一行代码的作用是将一个 Border 控件放置在 Grid 的第一列
Border中的CornerRadius圆角元素和Margin外边距元素的值的顺序,左,上,右,下
<StackPanel Grid.Column="0"><TextBlock Margin="0,100,0,0" Text="bilibili" Foreground="White"FontSize="40" HorizontalAlignment="Center" FontWeight="Bold"/><TextBlock Margin="20,5,20,0"Text="Welcome to the bilibili. You can register by clicking the button below"TextWrapping="WrapWithOverflow" Foreground="White" LineHeight="25"/><Button Margin="0,80,0,0" Content="Sign Up" Foreground ="White"Background="Transparent" BorderBrush="White" Width="200"/></StackPanel>
编写右侧布局
<!-- 右侧布局 --><Border Grid.Column="1" CornerRadius="0,10,10,0" Background="WhiteSmoke"> <!-- 圆角边框,浅灰色背景 --><StackPanel Margin="20"> <!-- 内容面板,包含登录表单和其他UI元素 --><!-- 登录提示 --><TextBlock Text="Sign in to bilibili" Foreground="#0072c0" FontSize="30" HorizontalAlignment="Center" Margin="0,0,0,25" FontWeight="bold"/> <!-- 社交媒体登录按钮 --><StackPanel Orientation="Horizontal" HorizontalAlignment="Center"><Button Background="Transparent" BorderBrush="Transparent"><Image Source="Images\wechat.png" Width="40" Height="40"/></Button><Button Background="Transparent" BorderBrush="Transparent"><Image Source="Images\weibo.png" Width="40" Height="40" Margin="5,0,5,0"/></Button><Button Background="Transparent" BorderBrush="Transparent"><Image Source="Images\qq.png" Width="40" Height="40"/></Button></StackPanel><!-- 提示使用账户信息登录 --><TextBlock Margin="0,15,0,0" Text="or use your account info" TextAlignment="Center" FontFamily="Arial" FontSize="14" Foreground="#878787"/><!-- 用户名输入框 --><Border Margin="0,30,0,0" Height="35" Width="340" BorderBrush="#878787" BorderThickness="1" CornerRadius="20"><StackPanel Orientation="Horizontal"><!-- 绘制原型图像 --><Ellipse Width="25" Height="25" Margin="5,0,0,0"><Ellipse.Fill><ImageBrush ImageSource="Images\user.png"/></Ellipse.Fill></Ellipse><TextBlock Margin="5,0,0,0" Text="username" FontSize="20" FontFamily="Arial" VerticalAlignment="Center"/></StackPanel></Border><!-- 密码输入框 --><Border Margin="0,10,0,0" Height="35" Width="340" BorderBrush="#878787" BorderThickness="1" CornerRadius="20"><StackPanel Orientation="Horizontal"><Ellipse Width="25" Height="25" Margin="5,0,0,0"><Ellipse.Fill><ImageBrush ImageSource="Images\password.png"/></Ellipse.Fill></Ellipse><TextBlock Margin="5,0,0,0" Text="password" FontSize="20" FontFamily="Arial" VerticalAlignment="Center"/></StackPanel></Border><!-- 登录按钮 --><Button Margin="0,25,0,0" Content="Sign In" Width="200" Background="#0072c0" Foreground="Wheat" FontSize="16"/></StackPanel></Border>
<Ellipse> 元素在WPF中用于绘制一个椭圆形或圆形(当宽度和高度相等时)。
代码片段创建了一个宽高均为25像素的圆形,并使用 <ImageBrush> 来填充这个圆形,使得圆形内部显示为图片
使用Canves进行图片布局
Canvas 是一种布局面板,它允许你通过显式设置元素的 Canvas.Left、Canvas.Top、Canvas.Right 和 Canvas.Bottom 属性来精确地定位子元素。Canvas 适用于需要绝对定位的场景
<!-- bilibili图标 -->
<Canvas Grid.Column="0"><Image Source="Images\bilibili_word.png/" Width="40" Height="40"Canvas.Left="30" Canvas.Top="400"></Image></Canvas>
<!-- 退出按钮 --><Canvas Grid.Column="1"><Button Background="Transparent" Canvas.Left="485" Canvas.Top="5"BorderBrush="Transparent"><Image Source="Images\close.png" Width="25" Height="25"/></Button></Canvas>相关文章:
使用XAML语言仿写BiliBil登录界面
实现步骤 实现左右布局 使用了Grid两列的网格布局,第一列宽度占35%,第二列宽度占65%。使用容器布局Border包裹左右布局内容,设置背景色、设置圆角 <!-- 定义两列--> <Grid.ColumnDefinitions><ColumnDefinition Width &quo…...
机器学习和深度学习
机器学习(Machine Learning,简称 ML)和深度学习(Deep Learning,简称 DL)都是人工智能(AI)领域的重要技术,它们的目标是使计算机通过数据学习和自主改进,从而完…...
Word表格批量提取数据到Excel,Word导出到Excel,我爱excel
Word表格批量提取数据到Excel,Word导出到Excel - 我爱Excel助你高效办公 在日常办公中,Word表格常常用于记录和整理数据,但将这些数据从Word提取到Excel,特别是当涉及多个文件时,常常让人头疼。如果你经常需要将多个W…...
SpringSecurity抛出异常但AccessDeniedHandler不生效
文章目录 复现原因 复现 Beanpublic SecurityFilterChain securedFilterChain(HttpSecurity http) throws Exception {//...//异常http.exceptionHandling(except -> {except.authenticationEntryPoint(new SecurityAuthenticationEntryPoint());except.accessDeniedHandle…...
高清绘画素材3600多张动漫线稿线描上色练习参考插画原画
工作之余来欣赏一波线稿,不务正业版... 很多很多的线稿... 百度网盘 请输入提取码...
EXCEL技巧
1. EXCEL技巧 1.1. 截取表格内某个字符之前的所有字符 1.1.1.样例 在单元格内输入函数: # 截取A1单元格内“分”字符左边的所有字符 LEFT(A1,FIND("分",A1)-1)1.1.2.截图...
python制作翻译软件
本文复刻此教程:制作属于自己的翻译软件-很简单【Python】_哔哩哔哩_bilibili 一、明确需求(以搜狗翻译为例) (1)网址:https://fanyi.sogou.com/text (2) 数据:翻译内容…...
ollama+FastAPI部署后端大模型调用接口
ollamaFastAPI部署后端大模型调用接口 记录一下开源大模型的后端调用接口过程 一、ollama下载及运行 1. ollama安装 ollama是一个本地部署开源大模型的软件,可以运行llama、gemma、qwen等国内外开源大模型,也可以部署自己训练的大模型 ollama国内地…...
BERT:深度双向Transformer的预训练用于语言理解
摘要 我们介绍了一种新的语言表示模型,名为BERT,全称为来自Transformer的双向编码器表示。与最近的语言表示模型(Peters等,2018a;Radford等,2018)不同,BERT旨在通过在所有层中联合调…...
【AI-23】深度学习框架中的神经网络3
神经网络有多种不同的类型,每种类型都针对特定的任务和数据类型进行优化。根据任务的特点和所需的计算能力,可以选择适合的神经网络类型。以下是一些主要的神经网络类型及其适用的任务领域。 1. 深度神经网络(DNN) 结构…...
网站运营数据pv、uv、ip
想要彻底弄清楚pv uv ip的区别,首先要知道三者的定义: IP(独立IP)的定义: 即Internet Protocol,指独立IP数。24小时内相同公网IP地址只被计算一次。 PV(访问量)的定义: 即Page View,即页面浏览量或点击量,用户每次刷…...
高阶知识库搭建实战五、(向量数据库Milvus安装)
以下是关于在Windows环境下直接搭建Milvus向量数据库的教程: 本教程分两部分,第一部分是基于docker安装,在Windows环境下直接安装Milvus向量数据库,目前官方推荐的方式是通过Docker进行部署,因为Milvus的运行环境依赖于Linux系统。 如果你希望在Windows上直接运行Milvus…...
【TR369】RTL8197FH-VG+RTL8812F增加TR369 command节点
sdk说明 ** Gateway/AP firmware v3.4.14b – Aug 26, 2019** Wireless LAN driver changes as: Refine WiFi Stability and Performance Add 8812F MU-MIMO Add 97G/8812F multiple mac-clone Add 97G 2T3R antenna diversity Fix 97G/8812F/8814B MP issu…...
FPGA实现UART对应的电路和单片机内部配合寄存器实现的电路到底有何区别?
一、UART相关介绍 UART是我们常用的全双工异步串行总线,常用TTL电平标准,由TXD和RXD两根收发数据线组成。 那么,利用硬件描述语言实现UART对应的电路和51单片机内部配合寄存器实现的电路到底有何区别呢?接下来我们对照看一下。 …...
数据库模型全解析:从文档存储到搜索引擎
目录 前言1. 文档存储(Document Store)1.1 概念与特点1.2 典型应用1.3 代表性数据库 2. 图数据库(Graph DBMS)2.1 概念与特点2.2 典型应用2.3 代表性数据库 3. 原生 XML 数据库(Native XML DBMS)3.1 概念与…...
【Java基础】Java异常捕捉,throws/throw、finally、try、catch关键字的含义与运用
1. Java 异常处理: 异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。 比如说,你的代码少了一个分号,那么运行出来结果是提示是错 java.lang.Error;如果你用System.out.p…...
Android Studio 安装配置(个人笔记)
Android studio安装的前提是必须保证安装了jdk1.8版本以上 一、查看是否安装jdk cmd打开命令行,输入java -version 最后是一个关键点 输入 javac ,看看有没有相关信息 没有就下载jdk Android studio安装的前提是必须保证安装了jdk1.8版本以上 可以到…...
计算机网络——数据链路层-介质访问控制
一、介质访问控制方法 在局域网中, 介质访问控制(medium access control)简称MAC,也就是信道访问控制方法,可以 简单的把它理解为如何控制网络节点何时发送数据、如何传输数据以及怎样在介质上接收数据, 是解决当局域网中共用信道的使用产生竞…...
pytest日志显示
在 pytest 中,可以通过 钩子函数 和 配置文件 pytest.ini 配置日志的显示方式,实现对日志的灵活控制。以下是常用实现方式及配置说明。 方式一:使用 conftest.py 钩子函数自定义日志显示 通过 conftest.py 文件中的钩子函数,实现…...
【信息系统项目管理师】第15章:项目风险管理过程详解
更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 一、规划风险管理1、输入2、工具与技术3、输出二、识别风险1、输入2、工具与技术3、输出三、实施定性风险分析1、输入2、工具与技术3、输出四、实施定量风险分析1、输入2、工具与技术3、输出五、规划风险应对1、…...
数据资源:全球首个高分辨率(30米×30米)的高海拔湿地地图数据集
全球首个高分辨率(30米30米)的高海拔湿地地图数据集 数据介绍 全球首个高分辨率(30米30米)的高海拔湿地地图数据集 全球高分辨率地图(30 mx 30 m),显示了世界主要山区(即安第斯山脉…...
STEP3-VL-10B多场景应用:跨境电商商品图比对、APP界面兼容性测试
STEP3-VL-10B多场景应用:跨境电商商品图比对、APP界面兼容性测试 1. 引言 你有没有遇到过这样的烦恼?做跨境电商,供应商发来的商品图片和官网宣传图总有些细微差别,一件件人工核对眼睛都快看花了。或者,你的APP在不同…...
Qwen3-0.6B-FP8低资源运行效果:在消费级GPU上的性能实测
Qwen3-0.6B-FP8低资源运行效果:在消费级GPU上的性能实测 最近在折腾本地部署大模型的朋友,可能都有过这样的体验:看着那些动辄几十亿、上百亿参数的“巨无霸”模型,再看看自己手头的显卡,只能默默叹气。显存不够、速度…...
Vue3+Turf.js开发指南:5个GIS空间分析必学技巧(2023最新版)
Vue3Turf.js开发指南:5个GIS空间分析必学技巧(2023最新版) 当我们需要在Web应用中处理地理空间数据时,传统的GIS系统往往显得笨重而复杂。而现代前端技术栈与轻量级空间分析库的结合,正在彻底改变这一局面。本文将带你…...
如何将PerfView与Azure DevOps集成:实现持续性能监控的完整指南
如何将PerfView与Azure DevOps集成:实现持续性能监控的完整指南 【免费下载链接】perfview PerfView is a CPU and memory performance-analysis tool 项目地址: https://gitcode.com/gh_mirrors/pe/perfview PerfView是一款强大的CPU和内存性能分析工具&…...
Firecamp部署指南:从开发环境到生产环境的完整流程
Firecamp部署指南:从开发环境到生产环境的完整流程 【免费下载链接】firecamp Developer-first OpenSource API DevTool, Postman/Insomnia alternative. 项目地址: https://gitcode.com/gh_mirrors/fi/firecamp Firecamp是一款面向开发者的开源API开发工具&…...
GD32F4x与STM32F4读保护功能对比:移植注意事项与性能差异
GD32F4x与STM32F4读保护功能深度对比:移植实战与性能优化 在嵌入式开发领域,芯片的读保护功能是保护知识产权的重要手段。对于同时使用ST和GD系列MCU的团队来说,理解两者在读保护实现上的差异至关重要。本文将深入剖析GD32F4x与STM32F4在读保…...
比特币白皮书解读:一种点对点的电子现金系统
比特币白皮书解读:一种点对点的电子现金系统 2008年,一个名为中本聪的神秘人物发布了一篇题为《比特币:一种点对点的电子现金系统》的白皮书,彻底改变了人类对货币和金融体系的认知。这篇白皮书不仅提出了一种去中心化的数字货币…...
LeetCode 热题 100 精讲 | 动态规划进阶篇:最大子数组和 · 分割等和子集 · 最长公共子序列 · 打家劫舍 III
一、53. 最大子数组和 🔗 题目链接 LeetCode 53. 最大子数组和 📝 题目描述 给你一个整数数组 nums,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例: 输…...
Inter字体终极指南:从屏幕优化到可变字体的完整实战手册
Inter字体终极指南:从屏幕优化到可变字体的完整实战手册 【免费下载链接】inter The Inter font family 项目地址: https://gitcode.com/gh_mirrors/in/inter Inter字体是一款专为数字屏幕设计的开源无衬线字体,以其卓越的可读性和灵活的可变字体…...
