WP7开发第一课:WP7项目组织结构&简单登陆例子(其二)

简介:

源地址:http://www.cnblogs.com/zhangdongzi/archive/2011/08/26/2155173.html

上一节中已经介绍了WP7项目组织结构,那么现在就让我们来进行实际开发吧,本来打算写一个helloworld的,但是这未免太对不起观众了,于是就改成做个登陆的例子,当然这个登陆例子我们暂时不连接远程服务,就在文件中写死吧,以后讲到远程服务的时候必然会使用到的,这个登陆例子也可以作为后续开发使用。

  一:新建一个Window phone application项目。

       因为我们是需要做登陆,那么必定是有用户账号,密码的,那么就建立一个类UerInfo.cs   ,添加属性

        public String userName;
        public String passworld;

二:我们的登陆是要访问服务端进行验证的,但是呢,我们现在还不需要服务器端,当然,我们可以模拟后台服务器端登陆验证:

      1:我们写一个接口,定义用户模块的一些方法,这里有一个登陆方法, UsetInfo Login(string userName,string password);

      2:定义个类,实现该接口的方法,比如上面登陆方法:

View Code

三:我们模拟的服务器端数据写好后,就开始实现我们的UI了,UI比较简单,

2个TextBlock 控件(户名,密码显示),

1个TextBox 用来提供输入用户名,然后1个密码框:PasswordBox,用来接收用户输入的密码,设置属性passwordChar接收密码隐藏为:*

1个CheckBox 用来提供用户选择是否记住密码,注册Checked事件

1个Button控件,用来进行登陆提交,注册Click事件

当然我们可以提供一个进度条,ProgressBar ,可以注册ValueChanged事件,就是值改变事件,用来显示进度,这里我们暂时不用 。

然后拖动控件进行简单布局,如下:

四:现在就进入.cs文件中处理事件,接收户名,密码,然后调用登陆。当然如果用户勾选了“记住密码”,就需要保存户名,密码到本机,下次打开软件时显示出来,那么怎么保存呢?这里我们用IsolatedStorageSettings(独立存贮,类似于键值对形式保存数据)

具体代码如下:

 //我们把用户对象保存进去
                        IsolatedStorageSettings.ApplicationSettings["UserInfo"] = usetInfo;
                        IsolatedStorageSettings.ApplicationSettings.Save();

当然开始加载页面时候也应该取出保存的UserInfo,并把户号,密码等设置在文本框中:

            //判断是否有键
            if(IsolatedStorageSettings.ApplicationSettings.Contains("UserInfo"))
            {
                UsetInfo usetInfo = IsolatedStorageSettings.ApplicationSettings["UserInfo"] as UsetInfo;
                //显示在文本框中
                txtUserName.Text = usetInfo.userName;
                txtPassword.Password= usetInfo.passworld;
            }

五:很多时候我们登陆用户的一些信息需要保存起来提供给全局使用,那么必定要涉及保存全局的变量,上一篇文章中,我们知道App.xaml.cs里面可以保存全局性的东西,那么我们就把用户信息保存在App.xaml.cs里面吧,以便下次使用。

   //保存登陆用户(全局),App.xaml.cs
        private UsetInfo usetInfo;
        public UsetInfo GetUsetInfo() 
        {
          return usetInfo;
        }

        public void SetUsetInfo(UsetInfo usetInfo) 
        {
            this.usetInfo = usetInfo;
        }

在Main.xmal.cs中保存到全局中:

 //保存用户到全局变量中
                App app= Application.Current as App;
                if(app!=null)
                {
                    app.SetUsetInfo(usetInfo);

                    if (app.GetUsetInfo()!=null)
                        MessageBox.Show("您已经登陆成功!,您已经保存对象到全局");

具体的还是看代码吧,如下:

View Code

 

View Code

六:就到这里,接下来下一篇应该是说一些基本的控件用法了。



本文转自Work Hard Work Smart博客园博客,原文链接:http://www.cnblogs.com/linlf03/archive/2011/11/12/2246763.html,如需转载请自行联系原作者

目录
相关文章
|
8月前
|
关系型数据库 MySQL 项目管理
YYDS,只用几条命令轻松搭建自己的项目管理平台jira
使用Docker快速搭建Jira的指南:首先确保已安装Docker,然后拉取`cptactionhank/atlassian-jira-software:8.1.0`和MySQL镜像。运行Jira和MySQL容器,分别绑定端口并创建jira数据库。访问Jira服务进行设置,包括选择语言、自定义设置、连接数据库、基础配置、设置密钥及管理员信息。通过Docker,便捷地部署和管理Jira,提升团队项目管理效率。
|
6月前
|
前端开发
网页设计,若依项目修改(网页设计,若依项目修改(It must be done)09------通用下载方法前段代码
网页设计,若依项目修改(网页设计,若依项目修改(It must be done)09------通用下载方法前段代码
|
6月前
|
前端开发 数据库
网页设计,若依项目修改(网页设计,若依项目修改(It must be done)10------下载字典类型后端三句话在做啥
网页设计,若依项目修改(网页设计,若依项目修改(It must be done)10------下载字典类型后端三句话在做啥
|
关系型数据库 MySQL PHP
PHP注册、登陆、6套主页-带Thinkphp目录解析-【白嫖项目】
PHP注册、登陆、6套主页-带Thinkphp目录解析-【白嫖项目】 CSDN 转过来的,所以格式与内容有些许错误请见谅
推荐超好用的 6 款 Laravel Admin 管理模版
如果您正在为您的企业调研开发 Admin 管理后台的最佳方案,那么基于 PHP 的 Laravel 框架会是一个不错的选择,它灵活且易用,还提供了一系列开发规范和组件加速我们的开发。
736 0
推荐超好用的 6 款 Laravel Admin 管理模版
【laralve项目】@14 laravel-admin处理后台分类,选择上级
【laralve项目】@14 laravel-admin处理后台分类,选择上级
98 0
【laralve项目】@14 laravel-admin处理后台分类,选择上级
|
API 开发工具 git
【laralve项目】@17 laravel-admin实现三级联动
【laralve项目】@17 laravel-admin实现三级联动
421 0
【laralve项目】@17 laravel-admin实现三级联动
|
PHP
laravel创建admin文件夹,里边的indexController怎么写
laravel创建admin文件夹,里边的indexController怎么写
212 0
|
存储 JSON 缓存
捉虫与寻龙:从0打造wordpress插件wp2oc fileshare (1) – 将wp存储后端做进owncloud
关键字:wp2oc fileshare,wordpress媒体存进网盘,网盘作为wordpress图床,owncloud wordpress backend storage
729 0
捉虫与寻龙:从0打造wordpress插件wp2oc fileshare (1) – 将wp存储后端做进owncloud