当前位置:网站首页>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>
边栏推荐
- 微信小程序 实现拨打电话
- Knowledge dry goods: basic storage service novice Experience Camp
- Evaluation index of machine learning (II) -- classification evaluation index
- Cow! His secret is to reproduce the paper in 2 hours——
- Fast parsing combined with Huatu document encryption software
- PostgreSQL 14 支持winserver2022吗?
- How to learn C language? This article gives you the complete answer
- From digitalization to intelligent operation and maintenance: what are the values and challenges?
- With the right tools, CI achieves twice the result with half the effort
- Mysql database defines cursor in trigger
猜你喜欢

Count the six weapons of the domestic interface cooperation platform!

Original direct selling MOS tube knl42150 2.8a/1500v applicable photovoltaic inverter can provide samples
![[single chip microcomputer] 2.1 hardware composition of AT89S52 single chip microcomputer](/img/8d/27d99bf7a94e59f158ba952e9239bd.png)
[single chip microcomputer] 2.1 hardware composition of AT89S52 single chip microcomputer

卷积神经网络——从R-CNN,Fast R-CNN到Faster R-CNN,Mask R-CNN

Machine learning: IOU of concept understanding

How to develop an online Excel spreadsheet system (Part 1)

Yanrong technology was selected as Beijing's "specialized and innovative" in 2022 to lead hybrid cloud file storage

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

2022 safety officer-c certificate special operation certificate examination question bank and answers

C语言怎么学?这篇文章给你完整答案
随机推荐
In the first week of June, risk control of e-shield business paid attention to 15 institutions such as New Oriental XRS, which were fined
Count the six weapons of the domestic interface cooperation platform!
[introduction to database system (Wang Shan)] Chapter 11 concurrency control
Knowing things by learning | app slimming down, the way of safety reinforcement under the new generation AAB framework
Big gap? Requirements and conditions for candidates with different academic qualifications to take the postgraduate entrance examination
How can we carry out NLP cross language knowledge transfer?
From digitalization to intelligent operation and maintenance: what are the values and challenges?
Run loam_ Velodyne real-time mapping
Interviewer: what is scaffolding? Why do you need scaffolding? What are the commonly used scaffolds?
Common shell commands (1) -- variable case conversion
Learn from what you know | Yidun self-developed text real-time clustering technology, and wipe out the same kind of harmful content in social networks
JS to realize the right-click menu bar function
Yanrong technology was selected as Beijing's "specialized and innovative" in 2022 to lead hybrid cloud file storage
帮扶、提振、担当,第六届土巴兔718全民家装节的新价值和意义
[Southwest University] information sharing of postgraduate entrance examination and re examination
Detailed explanation of browser caching mechanism
Convolutional neural network -- SSD thesis translation
Code compliance: five reasons why developers use helix QAC
Does PostgreSQL 14 support winserver2022?
With the right tools, CI achieves twice the result with half the effort