当前位置:网站首页>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>
边栏推荐
- Taishan Office Technology Lecture: word strange paragraph borders
- 知物由学 | 小游戏的安全风险在哪里?
- [MCU] 2.2 pin function of AT89S52
- Detailed explanation of browser caching mechanism
- WebDriverException( selenium.common.exceptions.WebDriverException: Message: ‘chromedriver‘ executabl
- Oracle 11g database installation tutorial
- 机器学习之评价指标(二)——分类评价指标
- MLX90640 红外热成像仪测温传感器模块开发笔记(七)
- [single chip microcomputer] 2.1 hardware composition of AT89S52 single chip microcomputer
- 7月第4周易盾业务风控关注 | 最高法对APP强索个人信息进行规制
猜你喜欢

面试常见问题一二

笔试缺考者入围教师招聘面试?河南祥符:个别考生成绩统计错误

Compilation and testing of raspberry pie driver code

Fast analysis combined with Haidian medicine

Understand │ what is cross domain? How to solve cross domain problems?

Establishing SSL connection without server‘s identity verification is not recommended

kubernetes 1.24高可用集群二进制部署

微信小程序 云函数批量删除多条数据 Error: errCode: -502005 database collection not exists

How to resolve the public domain name to the intranet IP server -- quickly resolve the domain name and map the Internet access

In the fourth week of July, Yidun business risk control focused on the supreme law to regulate app's forcible request for personal information
随机推荐
[introduction to database system (Wang Shan)] Chapter 4 - Database Security
Convolutional neural network -- Translation of yolov1 thesis
golang worker池
@Scheduled 和Quartz
知物由学 | 关联图分析在反作弊业务中的应用
Notes on standardized management of "ancestral warehouse" of meituan meal
[MCU] 2.2 pin function of AT89S52
卷积神经网络——YOLOV2(YOLO9000)论文翻译
Convolutional neural network -- SSD thesis translation
树莓派驱动代码的编译和测试
With the right tools, CI achieves twice the result with half the effort
Detailed explanation of browser caching mechanism
Learn from things | Yidun mobile terminal isomorphism practice, improve the official website interaction experience in a few steps
[Southwest University] information sharing of postgraduate entrance examination and re examination
Today's sleep quality record 82 points
Operation of simulated examination platform for 2022 low voltage electrician examination questions
2022 high altitude installation, maintenance and removal of test question simulation test platform operation
知物由学 | SO加固如何提升Android应用的安全性?
golang 自定义once,当出现error第二次重新设置
知物由学 | APP大瘦身,新一代AAB框架下的安全加固之道