我正在尝试创建一个带有登录按钮的登录页面到匹配页面,在那个只是一个简单的测试按钮来注销。这一切都很好,因为我可以登录(转到匹配页面)和注销(返回登录页面)。我正在使用应用程序属性来检查用户之前是否登录过。显然这被设置为正确的值(我使用 debug.writeline 检查调试),但是一旦我关闭应用程序(从手机上最近的应用程序页面滑开),同时处于“IsLoggedIn”状态 False 并尝试打开它再次(所以登录页面应该打开)它要么崩溃要么打开“IsLoggedIn”状态真实页面(匹配页面)。
这是 App.xaml.cs
public App()
{
InitializeComponent();
if (!Current.Properties.ContainsKey("IsLoggedIn"))
{
Current.Properties["IsLoggedIn"] = false;
if ((bool)Current.Properties["IsLoggedIn"] == false)
{
MainPage = new LoginPage();
}
else
{
MainPage = new NavigationPage(new MatchPage());
}
}
//MainPage = new NavigationPage(new MatchPage());
}
这是 LoginPage.xaml.cs
public partial class LoginPage : ContentPage
{
public LoginPage()
{
InitializeComponent();
Debug.WriteLine((bool)Application.Current.Properties["IsLoggedIn"]);
}
private async void Button_Clicked(object sender, EventArgs e)
{
Application.Current.Properties["IsLoggedIn"] = true;
await Application.Current.SavePropertiesAsync();
Application.Current.MainPage = new NavigationPage(new MatchPage());
}
}
这是 MatchPage.xaml.cs
public partial class MatchPage : ContentPage
{
public MatchPage()
{
InitializeComponent();
//if (!Application.Current.Properties.ContainsKey("IsLoggedIn"))
//{
// if ((bool)Application.Current.Properties["IsLoggedIn"] == false)
// {
// Application.Current.MainPage = new LoginPage();
// }
//}
Debug.WriteLine((bool)Application.Current.Properties["IsLoggedIn"]);
}
private async void Button_Clicked(object sender, EventArgs e)
{
Application.Current.Properties["IsLoggedIn"] = false;
await Application.Current.SavePropertiesAsync();
Application.Current.MainPage = new LoginPage();
}
}
希望你们能弄清楚出了什么问题,我能做些什么来解决这个问题。
好吧,很明显,这是我的 USB 电缆,将其拔出,尝试再次打开它,并且效果很好。不知道为什么这是问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句