C# 4.0 如果我未注销,如何继续使用windows phone应用程序?
如果尚未注销,如何继续使用windows phone应用程序 谢谢C# 4.0 如果我未注销,如何继续使用windows phone应用程序?,c#-4.0,windows-phone-8,C# 4.0,Windows Phone 8,如果尚未注销,如何继续使用windows phone应用程序 谢谢 private void btnlogin_Click(object sender, RoutedEventArgs e) { string uname = txtname.Text; string pwd = txtpwd.Password; IsolatedStorageSettings.ApplicationSettings[
private void btnlogin_Click(object sender, RoutedEventArgs e)
{
string uname = txtname.Text;
string pwd = txtpwd.Password;
IsolatedStorageSettings.ApplicationSettings["Session"] = uname;
IsolatedStorageSettings.ApplicationSettings.Save();
NavigationService.Navigate(new Uri("/details.xaml?uname=" + txtname.Text + "&pwd=" + txtpwd.Password+ "", UriKind.RelativeOrAbsolute));
}
您正在寻找持久性存储,一种即使用户退出应用程序也能持久的存储,我使用静态变量回答了您的最后一个问题,但静态变量在重新启动后不会持久,为此,您需要使用隔离旋转设置 样本存储和检索
//storage, you shall do it on login, Just put a variable, maybe user name
IsolatedStorageSettings.ApplicationSettings["Session"] = Name;
IsolatedStorageSettings.ApplicationSettings.Save();
//retrieval on every pages loaded or onnavigated to event to check for the session
if (IsolatedStorageSettings.ApplicationSettings.Contains("Session") == true)
{
var object= IsolatedStorageSettings.ApplicationSettings["Session"] as string;
}
else
{
//session expired
}
//Removal of session
if (IsolatedStorageSettings.ApplicationSettings.Contains("Session") == true)
{
IsolatedStorageSettings.ApplicationSettings.Remove("Session");
IsolatedStorageSettings.ApplicationSettings.Save();
}
现在,当您退出后进入应用程序时,在登录页面loaded/OnNavigatedTo事件中,只需进行如下检查
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
if (IsolatedStorageSettings.ApplicationSettings.Contains("Session") == true)
{
//Session exists
//navigate to next page then
}
else
{
//session expired
}
}
同样,您可以在IsolatedStorageSettings中存储完整的用户定义对象
也检查链接
在私有void InitializePhoneApplication()中的App.XAML中写下此代码,
RootFrame.Navigating+=RootFrame_导航和
RootFrame.Navigated+=RootFrame\u Navigated您从中注销了吗?不,如果我没有注销,并且在某个时候我按了windows键或退出应用程序,现在我希望无论何时启动应用程序,它都应该从该点继续。我不理解您的问题。您在哪里登录?好的,请参见:我运行应用程序并使用默认导航页面“Login.xaml”登录。现在在登录后,我得到了详细信息页面,现在我退出应用程序而不注销,我点击该应用程序,我希望该详细信息页面继续。谢谢那么,您希望在重新启动应用程序时被记录?(最后一次登录会话?)我应该在哪里编写此代码并感谢您的回复。当用户登录时,即当按下登录按钮时,您应该保存会话(前两行代码)。现在,保存此对象后,它不会被删除,除非您在代码中删除它或卸载应用程序。在按log out时,您应设置最后一个if条件,以删除会话对象。就是这样。是的,你做得很好,问题出在哪里了,但是每次我退出应用程序而不注销并单击应用程序,登录页面就会出现。谢谢!!您需要在登录时检查该值,然后执行相应的操作。只需检查我所做的编辑。
void RootFrame_Navigated(object sender, NavigationEventArgs e)
{
reset = (e.NavigationMode == NavigationMode.Reset);
}
void RootFrame_Navigating(object sender, NavigatingCancelEventArgs e)
{
if (reset && e.IsCancelable && e.Uri.OriginalString == "/Login.xaml")
{
e.Cancel = true;
reset = false;
}
}