Wpf 从导航日志中删除2个条目
在我的Wpf 从导航日志中删除2个条目,wpf,xaml,windows-phone-8,Wpf,Xaml,Windows Phone 8,在我的WindowsPhone8应用程序中,在导航到不同页面之前,我必须检查用户是否已经登录。如果用户未登录,我将用户导航到Login.xaml,用户可从中选择从Facebook或twitter登录或取消 现在,当用户成功登录时,我将用户导航到相应的页面。我的问题是如何删除那些潜在的2个页面(login.xaml和facebook/twitter登录) 有人有解决方法吗?如果这与使用WPF导航服务相同,那么您可以在导航到新页面后使用 更新: 如果您使用的代码是 if (!user.IsLogg
WindowsPhone8
应用程序中,在导航到不同页面之前,我必须检查用户是否已经登录。如果用户未登录,我将用户导航到Login.xaml
,用户可从中选择从Facebook或twitter登录或取消
现在,当用户成功登录时,我将用户导航到相应的页面。我的问题是如何删除那些潜在的2个页面(login.xaml和facebook/twitter登录)
有人有解决方法吗?如果这与使用WPF
导航服务相同,那么您可以在导航到新页面后使用
更新:
如果您使用的代码是
if (!user.IsLoggedIn)
{
NavigationService.Navigate(new Login());
}
然后,您可以在任何人有机会看到它们之前删除后面的条目
if (!user.IsLoggedIn)
{
NavigationService.Navigate(new Login());
//Hide back entry
NavigationService.RemoveBackEntry();
}
但是,如果您无法做到这一点,例如,当您在后面的条目中出现Facebook/twitter url时,请改为订阅活动,然后将其删除
public Login()
{
NavigationService.Navigated += HideEntriesOnNavigated;
}
void HideEntriesOnNavigated(object sender, NavigationEventArgs e)
{
if (IsFacebookLogin(e.Url)
|| IsTwitterLogin(e.Url)
|| IsAppLoginPage(e.Url))
{
NavigationService.RemoveBackEntry();
}
}
这是一个非常直截了当的答案,我提到了多种情况,其中后台登录页面可能存在或不存在。所以我必须检查backbackback是否包含这些页面,然后删除它们。你能帮我吗?你只能删除一个,所以诀窍是一旦它们被添加就删除它们。请参阅更新。另外,请发布一些代码,因为我不得不猜测你现在在做什么感谢这个解决方案,我只是在导航时删除了不需要的条目。
public Login()
{
NavigationService.Navigated += HideEntriesOnNavigated;
}
void HideEntriesOnNavigated(object sender, NavigationEventArgs e)
{
if (IsFacebookLogin(e.Url)
|| IsTwitterLogin(e.Url)
|| IsAppLoginPage(e.Url))
{
NavigationService.RemoveBackEntry();
}
}