当前位置: 首页 > news >正文

使用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.LeftCanvas.TopCanvas.RightCanvas.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两列的网格布局&#xff0c;第一列宽度占35%&#xff0c;第二列宽度占65%。使用容器布局Border包裹左右布局内容&#xff0c;设置背景色、设置圆角 <!-- 定义两列--> <Grid.ColumnDefinitions><ColumnDefinition Width &quo…...

机器学习和深度学习

机器学习&#xff08;Machine Learning&#xff0c;简称 ML&#xff09;和深度学习&#xff08;Deep Learning&#xff0c;简称 DL&#xff09;都是人工智能&#xff08;AI&#xff09;领域的重要技术&#xff0c;它们的目标是使计算机通过数据学习和自主改进&#xff0c;从而完…...

Word表格批量提取数据到Excel,Word导出到Excel,我爱excel

Word表格批量提取数据到Excel&#xff0c;Word导出到Excel - 我爱Excel助你高效办公 在日常办公中&#xff0c;Word表格常常用于记录和整理数据&#xff0c;但将这些数据从Word提取到Excel&#xff0c;特别是当涉及多个文件时&#xff0c;常常让人头疼。如果你经常需要将多个W…...

SpringSecurity抛出异常但AccessDeniedHandler不生效

文章目录 复现原因 复现 Beanpublic SecurityFilterChain securedFilterChain(HttpSecurity http) throws Exception {//...//异常http.exceptionHandling(except -> {except.authenticationEntryPoint(new SecurityAuthenticationEntryPoint());except.accessDeniedHandle…...

高清绘画素材3600多张动漫线稿线描上色练习参考插画原画

工作之余来欣赏一波线稿&#xff0c;不务正业版... 很多很多的线稿... 百度网盘 请输入提取码...

EXCEL技巧

1. EXCEL技巧 1.1. 截取表格内某个字符之前的所有字符 1.1.1.样例 在单元格内输入函数&#xff1a; # 截取A1单元格内“分”字符左边的所有字符 LEFT(A1,FIND("分",A1)-1)1.1.2.截图...

python制作翻译软件

本文复刻此教程&#xff1a;制作属于自己的翻译软件-很简单【Python】_哔哩哔哩_bilibili 一、明确需求&#xff08;以搜狗翻译为例&#xff09; &#xff08;1&#xff09;网址&#xff1a;https://fanyi.sogou.com/text &#xff08;2&#xff09; 数据&#xff1a;翻译内容…...

ollama+FastAPI部署后端大模型调用接口

ollamaFastAPI部署后端大模型调用接口 记录一下开源大模型的后端调用接口过程 一、ollama下载及运行 1. ollama安装 ollama是一个本地部署开源大模型的软件&#xff0c;可以运行llama、gemma、qwen等国内外开源大模型&#xff0c;也可以部署自己训练的大模型 ollama国内地…...

BERT:深度双向Transformer的预训练用于语言理解

摘要 我们介绍了一种新的语言表示模型&#xff0c;名为BERT&#xff0c;全称为来自Transformer的双向编码器表示。与最近的语言表示模型&#xff08;Peters等&#xff0c;2018a&#xff1b;Radford等&#xff0c;2018&#xff09;不同&#xff0c;BERT旨在通过在所有层中联合调…...

【AI-23】深度学习框架中的神经网络3

神经网络有多种不同的类型&#xff0c;每种类型都针对特定的任务和数据类型进行优化。根据任务的特点和所需的计算能力&#xff0c;可以选择适合的神经网络类型。以下是一些主要的神经网络类型及其适用的任务领域。 1. 深度神经网络&#xff08;DNN&#xff09; 结构&#xf…...

网站运营数据pv、uv、ip

想要彻底弄清楚pv uv ip的区别&#xff0c;首先要知道三者的定义&#xff1a; IP(独立IP)的定义&#xff1a; 即Internet Protocol,指独立IP数。24小时内相同公网IP地址只被计算一次。 PV(访问量)的定义&#xff1a; 即Page View,即页面浏览量或点击量&#xff0c;用户每次刷…...

高阶知识库搭建实战五、(向量数据库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是我们常用的全双工异步串行总线&#xff0c;常用TTL电平标准&#xff0c;由TXD和RXD两根收发数据线组成。 那么&#xff0c;利用硬件描述语言实现UART对应的电路和51单片机内部配合寄存器实现的电路到底有何区别呢&#xff1f;接下来我们对照看一下。 …...

数据库模型全解析:从文档存储到搜索引擎

目录 前言1. 文档存储&#xff08;Document Store&#xff09;1.1 概念与特点1.2 典型应用1.3 代表性数据库 2. 图数据库&#xff08;Graph DBMS&#xff09;2.1 概念与特点2.2 典型应用2.3 代表性数据库 3. 原生 XML 数据库&#xff08;Native XML DBMS&#xff09;3.1 概念与…...

【Java基础】Java异常捕捉,throws/throw、finally、try、catch关键字的含义与运用

1. Java 异常处理&#xff1a; 异常是程序中的一些错误&#xff0c;但并不是所有的错误都是异常&#xff0c;并且错误有时候是可以避免的。 比如说&#xff0c;你的代码少了一个分号&#xff0c;那么运行出来结果是提示是错 java.lang.Error&#xff1b;如果你用System.out.p…...

Android Studio 安装配置(个人笔记)

Android studio安装的前提是必须保证安装了jdk1.8版本以上 一、查看是否安装jdk cmd打开命令行&#xff0c;输入java -version 最后是一个关键点 输入 javac &#xff0c;看看有没有相关信息 没有就下载jdk Android studio安装的前提是必须保证安装了jdk1.8版本以上 可以到…...

计算机网络——数据链路层-介质访问控制

一、介质访问控制方法 在局域网中, 介质访问控制(medium access control)简称MAC&#xff0c;也就是信道访问控制方法&#xff0c;可以 简单的把它理解为如何控制网络节点何时发送数据、如何传输数据以及怎样在介质上接收数据&#xff0c; 是解决当局域网中共用信道的使用产生竞…...

pytest日志显示

在 pytest 中&#xff0c;可以通过 钩子函数 和 配置文件 pytest.ini 配置日志的显示方式&#xff0c;实现对日志的灵活控制。以下是常用实现方式及配置说明。 方式一&#xff1a;使用 conftest.py 钩子函数自定义日志显示 通过 conftest.py 文件中的钩子函数&#xff0c;实现…...

【信息系统项目管理师】第15章:项目风险管理过程详解

更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 一、规划风险管理1、输入2、工具与技术3、输出二、识别风险1、输入2、工具与技术3、输出三、实施定性风险分析1、输入2、工具与技术3、输出四、实施定量风险分析1、输入2、工具与技术3、输出五、规划风险应对1、…...

数据资源:全球首个高分辨率(30米×30米)的高海拔湿地地图数据集

全球首个高分辨率&#xff08;30米30米&#xff09;的高海拔湿地地图数据集 数据介绍 全球首个高分辨率&#xff08;30米30米&#xff09;的高海拔湿地地图数据集 全球高分辨率地图&#xff08;30 mx 30 m&#xff09;&#xff0c;显示了世界主要山区&#xff08;即安第斯山脉…...

STEP3-VL-10B多场景应用:跨境电商商品图比对、APP界面兼容性测试

STEP3-VL-10B多场景应用&#xff1a;跨境电商商品图比对、APP界面兼容性测试 1. 引言 你有没有遇到过这样的烦恼&#xff1f;做跨境电商&#xff0c;供应商发来的商品图片和官网宣传图总有些细微差别&#xff0c;一件件人工核对眼睛都快看花了。或者&#xff0c;你的APP在不同…...

Qwen3-0.6B-FP8低资源运行效果:在消费级GPU上的性能实测

Qwen3-0.6B-FP8低资源运行效果&#xff1a;在消费级GPU上的性能实测 最近在折腾本地部署大模型的朋友&#xff0c;可能都有过这样的体验&#xff1a;看着那些动辄几十亿、上百亿参数的“巨无霸”模型&#xff0c;再看看自己手头的显卡&#xff0c;只能默默叹气。显存不够、速度…...

Vue3+Turf.js开发指南:5个GIS空间分析必学技巧(2023最新版)

Vue3Turf.js开发指南&#xff1a;5个GIS空间分析必学技巧&#xff08;2023最新版&#xff09; 当我们需要在Web应用中处理地理空间数据时&#xff0c;传统的GIS系统往往显得笨重而复杂。而现代前端技术栈与轻量级空间分析库的结合&#xff0c;正在彻底改变这一局面。本文将带你…...

如何将PerfView与Azure DevOps集成:实现持续性能监控的完整指南

如何将PerfView与Azure DevOps集成&#xff1a;实现持续性能监控的完整指南 【免费下载链接】perfview PerfView is a CPU and memory performance-analysis tool 项目地址: https://gitcode.com/gh_mirrors/pe/perfview PerfView是一款强大的CPU和内存性能分析工具&…...

Firecamp部署指南:从开发环境到生产环境的完整流程

Firecamp部署指南&#xff1a;从开发环境到生产环境的完整流程 【免费下载链接】firecamp Developer-first OpenSource API DevTool, Postman/Insomnia alternative. 项目地址: https://gitcode.com/gh_mirrors/fi/firecamp Firecamp是一款面向开发者的开源API开发工具&…...

GD32F4x与STM32F4读保护功能对比:移植注意事项与性能差异

GD32F4x与STM32F4读保护功能深度对比&#xff1a;移植实战与性能优化 在嵌入式开发领域&#xff0c;芯片的读保护功能是保护知识产权的重要手段。对于同时使用ST和GD系列MCU的团队来说&#xff0c;理解两者在读保护实现上的差异至关重要。本文将深入剖析GD32F4x与STM32F4在读保…...

比特币白皮书解读:一种点对点的电子现金系统

比特币白皮书解读&#xff1a;一种点对点的电子现金系统 2008年&#xff0c;一个名为中本聪的神秘人物发布了一篇题为《比特币&#xff1a;一种点对点的电子现金系统》的白皮书&#xff0c;彻底改变了人类对货币和金融体系的认知。这篇白皮书不仅提出了一种去中心化的数字货币…...

LeetCode 热题 100 精讲 | 动态规划进阶篇:最大子数组和 · 分割等和子集 · 最长公共子序列 · 打家劫舍 III

一、53. 最大子数组和 &#x1f517; 题目链接 LeetCode 53. 最大子数组和 &#x1f4dd; 题目描述 给你一个整数数组 nums&#xff0c;请你找出一个具有最大和的连续子数组&#xff08;子数组最少包含一个元素&#xff09;&#xff0c;返回其最大和。 示例&#xff1a; 输…...

Inter字体终极指南:从屏幕优化到可变字体的完整实战手册

Inter字体终极指南&#xff1a;从屏幕优化到可变字体的完整实战手册 【免费下载链接】inter The Inter font family 项目地址: https://gitcode.com/gh_mirrors/in/inter Inter字体是一款专为数字屏幕设计的开源无衬线字体&#xff0c;以其卓越的可读性和灵活的可变字体…...