当前位置:网站首页>WPF做登陆界面
WPF做登陆界面
2022-07-27 15:55:00 【夏诗曼CharmaineXia】

<Window x:Class="zhaoxi.CourseManagement.View.LoginView" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 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" xmlns:local="clr-namespace:zhaoxi.CourseManagement.View" mc:Ignorable="d" Name="window" Title="系统登录" Height="600" Width="360" FontFamily="Microsoft YaHei" FontWeight="ExtraLight" ResizeMode="NoResize" WindowStartupLocation="CenterScreen" WindowStyle="None" AllowsTransparency="True" Background="{x:Null}">
<Window.Resources>
<!--#region 画右上角叉号 -->
<ControlTemplate TargetType="Button" x:Key="CloseButtonTemplate">
<Border Background="Transparent" Name="back">
<Path Data="M0 0 12 12M0 12 12 0" Stroke="White" StrokeThickness="1" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="back" Property="Background" Value="#22FFFFFF"/>
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter TargetName="back" Property="Background" Value="#44FFFFFF"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
<!--#endregion-->
<!--#region 登陆按钮样式 -->
<ControlTemplate TargetType="Button" x:Key="LoginButtonTemplate">
<Border Background="#007DFA" CornerRadius="5">
<Grid>
<Border CornerRadius="4" Background="#22FFFFFF" Name="back" Visibility="Hidden"/>
<ContentControl Content="{TemplateBinding Content}" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="{TemplateBinding Foreground}"/>
</Grid>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter Property="Visibility" Value="Visible" TargetName="back"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
<!--#endregion-->
<!--#region 用户名样式 -->
<SolidColorBrush x:Key="TextBox.Static.Border" Color="#FFABAdB3"/>
<SolidColorBrush x:Key="TextBox.MouseOver.Border" Color="#FF7EB4EA"/>
<SolidColorBrush x:Key="TextBox.Focus.Border" Color="#FF569DE5"/>
<Style x:Key="UserNameTextBoxStyle" TargetType="{x:Type TextBox}"> <Setter Property="Background" Value="{
DynamicResource {
x:Static SystemColors.WindowBrushKey}}"/> <Setter Property="BorderBrush" Value="{
StaticResource TextBox.Static.Border}"/> <Setter Property="Foreground" Value="{
DynamicResource {
x:Static SystemColors.ControlTextBrushKey}}"/> <Setter Property="BorderThickness" Value="1"/> <Setter Property="KeyboardNavigation.TabNavigation" Value="None"/> <Setter Property="HorizontalContentAlignment" Value="Left"/> <Setter Property="FocusVisualStyle" Value="{
x:Null}"/> <Setter Property="AllowDrop" Value="true"/> <Setter Property="ScrollViewer.PanningMode" Value="VerticalFirst"/> <Setter Property="Stylus.IsFlicksEnabled" Value="False"/> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{
x:Type TextBox}"> <Border x:Name="border" Background="{
TemplateBinding Background}" BorderThickness="{
TemplateBinding BorderThickness}" BorderBrush="{
TemplateBinding BorderBrush}" SnapsToDevicePixels="True" CornerRadius="5"> <!--边框变成小圆角--> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="40"/> <ColumnDefinition/> </Grid.ColumnDefinitions> <TextBlock Text="" FontFamily="../Assets/Fonts/#iconfont" FontSize="20" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="#DDD"/> <ScrollViewer x:Name="PART_ContentHost" Grid.Column="1" Focusable="false" HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Hidden" VerticalAlignment="Center" MinHeight="20"/> </Grid> </Border> <ControlTemplate.Triggers> <Trigger Property="IsEnabled" Value="false"> <Setter Property="Opacity" TargetName="border" Value="0.56"/> </Trigger> <Trigger Property="IsMouseOver" Value="true"> <Setter Property="BorderBrush" TargetName="border" Value="{
StaticResource TextBox.MouseOver.Border}"/> </Trigger> <Trigger Property="IsKeyboardFocused" Value="true"> <Setter Property="BorderBrush" TargetName="border" Value="{
StaticResource TextBox.Focus.Border}"/> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> <Style.Triggers> <MultiTrigger> <MultiTrigger.Conditions> <Condition Property="IsInactiveSelectionHighlightEnabled" Value="true"/> <Condition Property="IsSelectionActive" Value="false"/> </MultiTrigger.Conditions> <Setter Property="SelectionBrush" Value="{
DynamicResource {
x:Static SystemColors.InactiveSelectionHighlightBrushKey}}"/> </MultiTrigger> </Style.Triggers> </Style>
<!--#endregion-->
<!--#region PassWord样式 -->
<SolidColorBrush x:Key="TextBox.Static.Border1" Color="#FFABAdB3"/>
<SolidColorBrush x:Key="TextBox.MouseOver.Border1" Color="#FF7EB4EA"/>
<SolidColorBrush x:Key="TextBox.Focus.Border1" Color="#FF569DE5"/>
<Style x:Key="PasswordBoxStyle" TargetType="{x:Type PasswordBox}"> <Setter Property="PasswordChar" Value="●"/> <Setter Property="Background" Value="{
DynamicResource {
x:Static SystemColors.WindowBrushKey}}"/> <Setter Property="BorderBrush" Value="{
StaticResource TextBox.Static.Border1}"/> <Setter Property="Foreground" Value="{
DynamicResource {
x:Static SystemColors.ControlTextBrushKey}}"/> <Setter Property="BorderThickness" Value="1"/> <Setter Property="KeyboardNavigation.TabNavigation" Value="None"/> <Setter Property="HorizontalContentAlignment" Value="Left"/> <Setter Property="FocusVisualStyle" Value="{
x:Null}"/> <Setter Property="AllowDrop" Value="true"/> <Setter Property="ScrollViewer.PanningMode" Value="VerticalFirst"/> <Setter Property="Stylus.IsFlicksEnabled" Value="False"/> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{
x:Type PasswordBox}"> <Border x:Name="border" Background="{
TemplateBinding Background}" BorderThickness="{
TemplateBinding BorderThickness}" BorderBrush="{
TemplateBinding BorderBrush}" SnapsToDevicePixels="True" CornerRadius="5"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="40"/> <ColumnDefinition/> </Grid.ColumnDefinitions> <TextBlock Text="" FontFamily="../Assets/Fonts/#iconfont" FontSize="20" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="#DDD"/> <ScrollViewer x:Name="PART_ContentHost" Focusable="false" HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Hidden"/> </Grid> </Border> <ControlTemplate.Triggers> <Trigger Property="IsEnabled" Value="false"> <Setter Property="Opacity" TargetName="border" Value="0.56"/> </Trigger> <Trigger Property="IsMouseOver" Value="true"> <Setter Property="BorderBrush" TargetName="border" Value="{
StaticResource TextBox.MouseOver.Border1}"/> </Trigger> <Trigger Property="IsKeyboardFocused" Value="true"> <Setter Property="BorderBrush" TargetName="border" Value="{
StaticResource TextBox.Focus.Border1}"/> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> <Style.Triggers> <MultiTrigger> <MultiTrigger.Conditions> <Condition Property="IsInactiveSelectionHighlightEnabled" Value="true"/> <Condition Property="IsSelectionActive" Value="false"/> </MultiTrigger.Conditions> <Setter Property="SelectionBrush" Value="{
DynamicResource {
x:Static SystemColors.InactiveSelectionHighlightBrushKey}}"/> </MultiTrigger> </Style.Triggers> </Style>
<!--#endregion-->
<!--#region 验证码样式 -->
<SolidColorBrush x:Key="TextBox.Static.Border2" Color="#FFABAdB3"/>
<SolidColorBrush x:Key="TextBox.MouseOver.Border2" Color="#FF7EB4EA"/>
<SolidColorBrush x:Key="TextBox.Focus.Border2" Color="#FF569DE5"/>
<Style x:Key="VlidationCodeTextBoxStyle" TargetType="{x:Type TextBox}"> <Setter Property="Background" Value="{
DynamicResource {
x:Static SystemColors.WindowBrushKey}}"/> <Setter Property="BorderBrush" Value="{
StaticResource TextBox.Static.Border2}"/> <Setter Property="Foreground" Value="{
DynamicResource {
x:Static SystemColors.ControlTextBrushKey}}"/> <Setter Property="BorderThickness" Value="1"/> <Setter Property="KeyboardNavigation.TabNavigation" Value="None"/> <Setter Property="HorizontalContentAlignment" Value="Left"/> <Setter Property="FocusVisualStyle" Value="{
x:Null}"/> <Setter Property="AllowDrop" Value="true"/> <Setter Property="ScrollViewer.PanningMode" Value="VerticalFirst"/> <Setter Property="Stylus.IsFlicksEnabled" Value="False"/> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{
x:Type TextBox}"> <Border x:Name="border" Background="{
TemplateBinding Background}" BorderThickness="{
TemplateBinding BorderThickness}" BorderBrush="{
TemplateBinding BorderBrush}" SnapsToDevicePixels="True" CornerRadius="5"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="40"/> <ColumnDefinition/> <ColumnDefinition Width="80"/> </Grid.ColumnDefinitions> <TextBlock Text="" FontFamily="../Assets/Fonts/#iconfont" FontSize="20" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="#DDD"/> <ScrollViewer x:Name="PART_ContentHost" Focusable="false" HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Hidden"/> <Image Grid.Column="2"/> <!--这里放验证码图片--> </Grid> </Border> <ControlTemplate.Triggers> <Trigger Property="IsEnabled" Value="false"> <Setter Property="Opacity" TargetName="border" Value="0.56"/> </Trigger> <Trigger Property="IsMouseOver" Value="true"> <Setter Property="BorderBrush" TargetName="border" Value="{
StaticResource TextBox.MouseOver.Border2}"/> </Trigger> <Trigger Property="IsKeyboardFocused" Value="true"> <Setter Property="BorderBrush" TargetName="border" Value="{
StaticResource TextBox.Focus.Border2}"/> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> <Style.Triggers> <MultiTrigger> <MultiTrigger.Conditions> <Condition Property="IsInactiveSelectionHighlightEnabled" Value="true"/> <Condition Property="IsSelectionActive" Value="false"/> </MultiTrigger.Conditions> <Setter Property="SelectionBrush" Value="{
DynamicResource {
x:Static SystemColors.InactiveSelectionHighlightBrushKey}}"/> </MultiTrigger> </Style.Triggers> </Style>
<!--#endregion-->
</Window.Resources>
<Border Margin="5" Background="White" CornerRadius="10">
<Border.Effect>
<DropShadowEffect Color="Gray" ShadowDepth="0" BlurRadius="5" Opacity="0.3" Direction="0"></DropShadowEffect>
</Border.Effect>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="1.8*"/>
<RowDefinition Height="3*"/>
<RowDefinition Height="100"/>
<!--60之外分成4.8份,上面占1.8份,下面占3份-->
</Grid.RowDefinitions>
<Border Background="#007DFA" CornerRadius="10,10,0,0" MouseLeftButtonDown="WinMove_LeftButtonDown"/>
<Button VerticalAlignment="Top" HorizontalAlignment="Right" Width="40" Height="30" Template="{StaticResource CloseButtonTemplate}" Command="{Binding CloseWindowCommand}" CommandParameter="{Binding ElementName=window}">
</Button>
<StackPanel VerticalAlignment="Bottom" Margin="0,0,0,30">
<Border Width="80" Height="80" Background="White" VerticalAlignment="Center" HorizontalAlignment="Center" CornerRadius="50" Margin="0,0,0,20">
<Border.Effect>
<DropShadowEffect Color="#225533" ShadowDepth="0" BlurRadius="5" Opacity="0.3" Direction="0"></DropShadowEffect>
</Border.Effect>
<Border Width="90" Height="80" HorizontalAlignment="Center">
<Border.Background>
<ImageBrush ImageSource="../Assets/Images/640.gif"/>
</Border.Background>
</Border>
</Border>
<TextBlock Text="废柴快乐八卦聊天室" HorizontalAlignment="Center" Foreground="White" FontSize="18"/>
</StackPanel>
<Grid Grid.Row="1" Margin="20,10">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition MinHeight="23" Height="auto"/>
</Grid.RowDefinitions>
<TextBox Style="{
DynamicResource UserNameTextBoxStyle}" Height="42" Text="{Binding LoginModel.UserName}" FontSize="16" Foreground="#555"/>
<PasswordBox Style="{
DynamicResource PasswordBoxStyle}" Grid.Row="1" Height="42" Password="123456" FontSize="16" Foreground="#555"/>
<TextBox Style="{
DynamicResource VlidationCodeTextBoxStyle}" Grid.Row="2" Height="42" Text="{Binding LoginModel.ValidationCode}"/>
<Button Content="登 录" Grid.Row="3" Height="42" Foreground="White" FontSize="16" Template="{StaticResource LoginButtonTemplate}"/>
<TextBlock Text="登录失败" Foreground="red" Grid.Row="4" FontSize="13" HorizontalAlignment="Center" TextWrapping="Wrap" LineHeight="22"/> <!--自动换行-->
</Grid>
<Grid Grid.Row="2" Margin="20,0">
<Grid.RowDefinitions>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="30"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Border BorderBrush="#DDD" BorderThickness="0,0,0,1" VerticalAlignment="Center"/>
<Border BorderBrush="#DDD" BorderThickness="0,0,0,1" VerticalAlignment="Center" Grid.Column="2"/>
<TextBlock Text="OR" Grid.Column="1" Foreground="#CCC" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Grid>
<UniformGrid Columns="5" Grid.Row="1">
<UniformGrid.Resources>
<Style TargetType="TextBlock"> <Setter Property="Foreground" Value="#DDD"/> <Setter Property="FontSize" Value="40"/> <Setter Property="VerticalAlignment" Value="Center"/> <Setter Property="HorizontalAlignment" Value="Center"/> <Setter Property="FontFamily" Value="../Assets/Fonts/#iconfont"/> <Style.Triggers> <Trigger Property="IsMouseOver" Value="True"> <Setter Property="Foreground" Value="#007DFA"/> </Trigger> </Style.Triggers> </Style>
</UniformGrid.Resources>
<TextBlock Text=""/>
<Border/>
<TextBlock Text=""/>
<Border/>
<TextBlock Text=""/>
</UniformGrid>
</Grid>
</Grid>
</Border>
</Window>
边栏推荐
- Help, boost and take responsibility, the new value and significance of the 6th Tuba rabbit 718 national home decoration Festival
- Understand │ what is cross domain? How to solve cross domain problems?
- ES查询限制10000条数据解决方法
- How to restrict root remote login so that ordinary users have root privileges
- Oracle 11g database installation tutorial
- 快解析结合海典医药
- WebDriverException( selenium.common.exceptions.WebDriverException: Message: ‘chromedriver‘ executabl
- PostgreSQL 14 支持winserver2022吗?
- Taishan Office Technology Lecture: word strange paragraph borders
- Run loam_ Velodyne real-time mapping
猜你喜欢

Personal understanding of convolution calculation process of convolution neural network
知物由学 | SO加固如何提升Android应用的安全性?

知物由学 | 从0到1搭建实时反外挂机制,多维度补充手游攻防力

js实现右键菜单栏功能

TCP connection status identification (syn, fin, ACK, PSH, RST, urg)

Learn from things | Yidun mobile terminal isomorphism practice, improve the official website interaction experience in a few steps

WebDriverException( selenium.common.exceptions.WebDriverException: Message: ‘chromedriver‘ executabl

Today's sleep quality record 82 points

ACL 2022 | prompt based automatic depolarization: effectively reducing bias in the pre training language model

微信小程序 实现位置地图显示,引入map地图,不含导航
随机推荐
公网域名如何解析到内网IP服务器——快解析域名映射外网访问
Count the six weapons of the domestic interface cooperation platform!
7月第4周易盾业务风控关注 | 最高法对APP强索个人信息进行规制
golang chan实现互斥锁
golang 等待一组goroutine完成,并带返回值(2)
知物由学 | APP大瘦身,新一代AAB框架下的安全加固之道
Notes on standardized management of "ancestral warehouse" of meituan meal
笔试缺考者入围教师招聘面试?河南祥符:个别考生成绩统计错误
[MCU] 2.2 pin function of AT89S52
#yyds干货盘点# 面试必刷TOP101:链表内指定区间反转
golang 并发缓存击穿或合并请求
卷积神经网络之卷积计算过程个人理解
[MCU] 2.3 CPU of AT89S52
机器学习——概念理解之IoU
Initial polymorphism
Code compliance: five reasons why developers use helix QAC
灵魂一问:为什么ES比MySQL更适合复杂条件搜索?
卷积神经网络——YOLOV2(YOLO9000)论文翻译
每条你收藏的资讯背后,都离不开TA
How to improve the security of Android applications?