后台代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using GTA.Teaching.UI.Silverlight.ViewModels;
namespace GTA.Teaching.UI.Silverlight.Views.MainPage
{
public partial class Login : UserControl
{
LoginViewModel vm;
public Login()
{
InitializeComponent();
vm= (LoginViewModel)this.DataContext;
}
private void Grid_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Enter)
{
vm.Login();
}
}
private void TextBox_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Enter)
{
vm.CurrentLoginAccount = loginname.Text;
}
}
private void PasswordBox_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Enter)
{
vm.CurrentPassword = loginpwd.Password;
}
}
}
}
页面代码:
<UserControl x:Class="GTA.Teaching.UI.Silverlight.Views.MainPage.Login"
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:tloading="clr-namespace:GTA.Teaching.UI.Silverlight.Views.Loading"
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions"
DataContext="{Binding Source={StaticResource Locator},Path=LoginViewModel}"
mc:Ignorable="d">
<Grid VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Background="#0c3150" KeyDown="Grid_KeyDown" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="0.35*"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="0.65*"/>
</Grid.RowDefinitions>
<Border Grid.ColumnSpan="3" Grid.RowSpan="4" Margin="-20">
<Border.Background>
<RadialGradientBrush Center="0.5,0.4" GradientOrigin="0.5,0.1" RadiusX="1">
<GradientStop Color="#CC3e77a6" Offset="0"/>
<GradientStop Color="#66000000" Offset="1"/>
</RadialGradientBrush>
</Border.Background>
</Border>
<Image Grid.Row="1" Source="/GTA.Teaching.UI.Silverlight;component/Assets/images/login/gtalogo.png" Stretch="None" Margin="60,15,0,15"
Height="32" Grid.Column="1" HorizontalAlignment="Left"/>
<Grid x:Name="LayoutRoot" Grid.Row="2" Grid.Column="1" Width="760" Height="415">
<Grid.Background>
<ImageBrush ImageSource="/GTA.Teaching.UI.Silverlight;component/Assets/images/login/loginbg.png" Stretch="None"></ImageBrush>
</Grid.Background>
<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
<Canvas Width="650" Height="333" >
<TextBlock Text="管理系统" FontSize="34" FontFamily="Microsoft YaHei" Foreground="#fcbf56" Margin="100,50,0,0"/>
<Grid Canvas.Left="328" Canvas.Top="9" Height="250" Width="300">
<Grid.RowDefinitions>
<RowDefinition Height="50"></RowDefinition>
<RowDefinition Height="45"></RowDefinition>
<RowDefinition Height="45"></RowDefinition>
<RowDefinition Height="45"></RowDefinition>
<RowDefinition Height="60"></RowDefinition>
<RowDefinition Height="5*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.283*"></ColumnDefinition>
<ColumnDefinition Width="0.717*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<TextBlock Margin="0,0,10,0" HorizontalAlignment="Right" VerticalAlignment="Center" Grid.Row="1" Grid.Column="0" Text="ID号/账号:" Foreground="White" FontSize="14"></TextBlock>
<TextBlock Margin="0,0,10,0" HorizontalAlignment="Right" VerticalAlignment="Center" Grid.Row="2" Grid.Column="0" Text="登录密码:" Foreground="White" FontSize="14"></TextBlock>
<TextBlock Margin="0,0,10,0" HorizontalAlignment="Right" VerticalAlignment="Center" Grid.Row="3" Grid.Column="0" Text="用户类别:" Foreground="White" FontSize="14"></TextBlock>
<TextBox Name="loginname" VerticalAlignment="Center" TabIndex="0" Grid.Row="1" Width="170" Height="25" Grid.Column="1" Text="{Binding Path=CurrentLoginAccount,Mode=TwoWay}" KeyDown="TextBox_KeyDown"></TextBox>
<PasswordBox Name="loginpwd" VerticalAlignment="Center" MaxLength="18" TabIndex="1" Grid.Row="2" Width="170" Height="25" Grid.Column="1" Password="{Binding Path=CurrentPassword,Mode=TwoWay}" Margin="0,11,44,9" KeyDown="PasswordBox_KeyDown"></PasswordBox>
<ComboBox BorderBrush="#174978" Background="#86bddf" VerticalAlignment="Center" HorizontalAlignment="Left" TabIndex="2" ItemsSource="{Binding Path=SystemRoleCollection,Mode=TwoWay}" SelectedValue="{Binding Path=CurrentRole,Mode=TwoWay}"
Grid.Row="3" Width="170" Height="25" Grid.Column="1" Name="cboUsertype" DisplayMemberPath="Value">
</ComboBox>
<Button Cursor="Hand" Margin="30,0,0,0" TabIndex="3" Grid.Row="4" Grid.Column="1" Height="33" Width="120" IsEnabled="{Binding Path=IsBusy,Mode=TwoWay}"
x:Name="btnlogin" >
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<ei:CallMethodAction TargetObject="{Binding}" MethodName="Login"></ei:CallMethodAction>
</i:EventTrigger>
</i:Interaction.Triggers>
<Button.Content>
<StackPanel Orientation="Horizontal">
<Image Margin="0,0,0,0" Source="/GTA.Teaching.UI.Silverlight;component/Assets/images/login/LoginKey.png" Stretch="None"/>
<TextBlock Margin="4,0,0,0" Text="登 录" VerticalAlignment="Center" FontSize="14"/>
</StackPanel>
</Button.Content>
</Button>
</Grid>
<TextBlock Canvas.Left="400" Canvas.Top="265" Height="23" Name="textBlock1" Text="{Binding Path=ErrorMessage,Mode=TwoWay}" Width="228" Foreground="Red" />
</Canvas>
</StackPanel>
</Grid>
<tloading:MainLoading Grid.ColumnSpan="3" Grid.RowSpan="4" x:Name="tMainLoading" Visibility="{Binding Path=LoadingVisiblity,Mode=TwoWay}"/>
</Grid>
</UserControl>