您的位置:首页 > 其它

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

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

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

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

public String userName;
public String passworld;

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

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

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

View Code

bool? isChecked = false;
// Constructor
public MainPage()
{
InitializeComponent();
//注册事件
initEventListener();
}

private void initEventListener()
{
this.Loaded += new RoutedEventHandler(MainPage_Loaded);
btnLogin.Click += new RoutedEventHandler(btnLogin_Click);
chkRecord.Checked += new RoutedEventHandler(chkRecord_Checked);
progressBar.ValueChanged += new RoutedPropertyChangedEventHandler<double>(progressBar_ValueChanged);
}

//本页加载时候根据独立存贮保存的内容,显示在文本框里
void MainPage_Loaded(object sender, RoutedEventArgs e)
{
//判断是否有键
if(IsolatedStorageSettings.ApplicationSettings.Contains("UserInfo"))
{
UsetInfo usetInfo = IsolatedStorageSettings.ApplicationSettings["UserInfo"] as UsetInfo;
//显示在文本框中
txtUserName.Text = usetInfo.userName;
txtPassword.Password= usetInfo.passworld;
}

}

void progressBar_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{

}

void chkRecord_Checked(object sender, RoutedEventArgs e)
{
if (sender!=null)
{
CheckBox chkRecord = sender as CheckBox;
isChecked=chkRecord.IsChecked;
if (isChecked==true)
{
//判断是否被选中,然后保存到文件中或是独立存贮中,在下次启动时候就读取文件或独立存贮的内容
isChecked = true;
}
}
}

void btnLogin_Click(object sender, RoutedEventArgs e)
{
string userName = txtUserName.Text.Trim();
string password = txtPassword.Password.Trim();

//调用服务器端进行数据验证登陆
UsetInfo usetInfo= PhoneAppService.getInstance().getUserInfoService().Login(userName, password);
if (usetInfo!=null)
{
//保存用户到全局变量中
App app= Application.Current as App;
if(app!=null)
{
app.SetUsetInfo(usetInfo);

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

//根据单选框选中情况保存数据到独立存贮中
if(isChecked==true)
{
//我们把用户对象保存进去
IsolatedStorageSettings.ApplicationSettings["UserInfo"] = usetInfo;
IsolatedStorageSettings.ApplicationSettings.Save();
}
}
}
}


六:就到这里,接下来下一篇应该是说一些基本的控件用法了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: