WPF实例系列一:登录、注册界面设计

WPF实例系列一:登录、注册界面设计



前言

本实例将展示利用WPF设计登录界面、注册界面,并实现相应的功能,其中账户数据将存储在excel表中(补充:增加Mysql数据库存储账户数据)。


一、实例演示

1. 登录界面展示

​​​在这里插入图片描述

2. 注册界面展示

在这里插入图片描述

3. 数据存储

在这里插入图片描述

4. 效果演示

在这里插入图片描述

二、结构及源码

1.主界面跳转登录界面设计

MainWindow.xaml.cs跳转登录界面代码如下:

using System;
using System.Windows;
using System.Windows.Threading;

namespace sample5
{
   
    /// <summary>
    /// MainWindow.xaml 的交互逻辑
    /// </summary>
    public partial class MainWindow : Window
    {
   
        //public int play_state = 1;  
        public MainWindow()
        {
   
            InitializeComponent();

            #region 登录界面加载及验证
            //显示登陆界面,验证后返回。
            LoginWindow loginWindow = new LoginWindow();
            loginWindow.ShowDialog();
            if (loginWindow.DialogResult != Convert.ToBoolean(1))
            {
   
                this.Close();
            }
            //显示登陆界面 结束
            #endregion 
         }
     }
 }     

2.登录界面设计

Xaml代码如下(添加1个Nuget库:MaterialDesignThemes.3.1.0-ci981 ;可参考):

<Window x:Class="sample5.LoginWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
        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:sample5"
        mc:Ignorable="d"
        Title="用户登录" Height="500" Width="350" 
        ResizeMode="NoResize" 
        WindowStartupLocation="CenterScreen" 
        WindowStyle="None" 
        MouseLeftButtonDown="MoveWindow_MouseLeftButtonDown"
        FontFamily="Segoe UI Emoji">

    <Grid>
        <Rectangle Height="280" VerticalAlignment="Top">
            <Rectangle.Fill>
                <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                    <GradientStop Color="#FF2281D1"/>
                    <GradientStop Color="#FF34268A" Offset="1"/>
                    <GradientStop Color="#FF33288B" Offset="0.546"/>
                </LinearGradientBrush>
            </Rectangle.Fill>
        </Rectangle>
        <Rectangle Height=" 220" VerticalAlignment="Bottom" >
            <Rectangle.Fill>
                <SolidColorBrush Color="Snow" />
            </Rectangle.Fill>
        </Rectangle>

        <Rectangle Width="280" Height="240" VerticalAlignment="Bottom" Margin="0,80" RadiusY="10" RadiusX="10" Fill="White">
            <Rectangle.Effect>
                <DropShadowEffect BlurRadius="15" Direction="0" RenderingBias="Quality" ShadowDepth="1" Color="#FFBBBBBB"/>
            </Rectangle.Effect>
        </Rectangle>
        
        <Grid VerticalAlignment="Bottom" Margin="35,80" Height="240">
            <Label Content="登录" HorizontalAlignment="Center" VerticalAlignment="Top" Margin="5" Foreground="Gray" FontSize="18"/>
            <StackPanel VerticalAlignment="Center" Margin="15">
                <TextBox x:Name="Account" Margin="0,5" materialDesign:HintAssist.Hint="账号" Style="{
       StaticResource MaterialDesignFloatingHintTextBox}" FontFamily="Champagne &amp; Limousines" FontSize="16"/>
                <PasswordBox x:Name="Password" Margin="0,5" materialDesign:HintAssist.Hint="密码" Style="{
       StaticResource MaterialDesignFloatingHintPasswordBox}" FontFamily="Champagne &amp; Limousines" FontSize="16"/>
            </StackPanel>
        </Grid>

        <Button Width="150" HorizontalAlignment="Center" VerticalAlignment="Bottom" Margin=
  • 26
    点赞
  • 196
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
WPF(Windows Presentation Foundation)是一种用于创建用户界面的微软技术,MVVM(Model-View-ViewModel)是一种设计模式,用于将界面逻辑与业务逻辑分离。下面是一个使用WPF MVVM设计模式的登录实例。 在MVVM架构中,登录界面通常由三个部分组成:视图(View)、视图模型(ViewModel)和模型(Model)。 首先,我们需要创建一个WPF窗口作为登录界面的视图。该窗口会包含用户名和密码的文本框以及登录按钮。在视图的代码中,我们会绑定这些控件的属性到相应的视图模型。 接下来,我们创建一个视图模型,它是视图和模型之间的中间层。视图模型会实现一个命令,该命令会在用户点击登录按钮时执行。在命令的执行逻辑中,我们会调用模型层来验证用户输入的用户名和密码是否正确。 最后,我们创建一个模型类,它包含用户信息和登录逻辑。模型类会提供一个方法,用于验证用户输入的用户名和密码是否与预先设定的值匹配。如果验证成功,模型类会返回一个布尔值。 整个过程中,视图和模型是完全解耦的。视图通过数据绑定将用户输入传递给视图模型,视图模型则处理逻辑并调用模型层进行验证。 通过使用WPF MVVM设计模式,我们可以有效地将界面逻辑和业务逻辑分离,提高代码的可维护性和重用性。同时,这种设计模式也可以帮助我们实现更好的单元测试,因为我们可以通过模拟视图模型和模型来进行测试,而无需依赖于实际的用户界面。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值