Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 从导航日志中删除2个条目_Wpf_Xaml_Windows Phone 8 - Fatal编程技术网

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();
  }
}