WPF学习笔记-数据采集与监控项目01-登录界面
以下视频学习笔记:
https://www.bilibili.com/video/BV1gq4y1D76d?p=20&spm_id_from=pageDriver
一,创建数据库和数据表
--指向当前要使用的数据库,告诉master我要创建数据库了 --master是数据库的数据库 use master go --go代表前面是一个完整的过程,代表结束 if exists(select * from sysdatabases where name='zx_DB') drop database zx_DB --drop删除了以后,基本就没有恢复的希望了,慎用慎用。 go --创建数据库 create database zx_DB on primary --必须用小括号() ( --数据库文件的逻辑名(数据库管理系统用的,必须唯一,数据库内部使用的,不重复就行) name='zx_DB_data',--写完要用逗号 --数据库的物理文件名(绝对路径) filename='D:\DB\zx_DB_data.mdf',--主数据文件 --数据文件初始大小 size=20MB,--实际开发中,请根据需要设置合理的大小 --数据文件增长量 (建议不要指望这个增长,如果不断的扩充,会让数据库的性能下降) filegrowth=5MB --filegrowth=20%,也可以是一个百分比 ) , ( name='zx_DB_data1', --用到字符串的是单引号 filename='D:\DB\zx_DB_data1.ndf',--次要数据文件 size=20MB, filegrowth=5MB ) --创建日志文件 log on ( name='zx_DB_log', filename='D:\DB\zx_DB_log.ldf',--日志文件 size=20MB, filegrowth=5MB ), ( name='zx_DB_log1', filename='D:\DB\zx_DB_log1.ldf',--日志文件 size=20MB, filegrowth=5MB ) go--go代表前面是一个完整的过程,代表结束 --创建数据表:建议,我们最好要给数据做统一的规范命名(建议大家使用Pascal命名法)
--指向当前要使用的数据库,告诉master我要创建数据库了 --master是数据库的数据库 use master go --go代表前面是一个完整的过程,代表结束 use zx_DB --要引用这个数据库 go --创建拧紧结果表 if exists(select * from sysobjects where name='users')--查询是否存在这个数据表 drop table users --drop删除了以后,基本就没有恢复的希望了,慎用慎用。 go create table users ( ID int identity(1,1) primary key,--identity(100000,1)学号从10000(参数1)开始,每次递增1(参数2) user_id varchar(20) not null , user_name varchar(20) not null , real_name varchar(20) not null, password varchar(40), is_validation int not null, is_can_login int not null, is_teacher int not null, avatar varchar(200), gender int ) go
二,页面跳转
1,重写OnStartup方法
2,设置ShutdownMode
OnLastWindowClose(默认值):
最后一个窗体关闭或调用Application对象的Shutdown() 方法时,应用程序关闭。
OnMainWindowClose:
启动窗体关闭或调用Application对象的Shutdown()方法时,应用程序关闭。(和C#的Windows应用程序的关闭模式比较类似)
OnExplicitShutdown:
只有在调用Application对象的Shutdown()方法时,应用程序才会关闭。
3, 把当前窗体对象window通过button按钮传递
4,登录逻辑中加DialogResult=true
LoginViewModel中登录代码:
5,设置默认光标位置,在控件的外层 FocusManager.FocusedElement="{Binding ElementName=txt_userName}"
6,监控Enter键:给控件绑定登录的方法
UpdateSourceTrigger=PropertyChanged,一旦绑定的属性值改变,源会立即更新