Windows phone 7 直播标题进入无限循环
我使用live title启动特定页面: 主屏幕中的实时互动程序--在任务完成后启动-->P1并转到-->P2-->主页面 当你点击主页上的后退按钮时,应用程序不会退出,而是以循环方式转到P2 代码如下:Windows phone 7 直播标题进入无限循环,windows-phone-7,Windows Phone 7,我使用live title启动特定页面: 主屏幕中的实时互动程序--在任务完成后启动-->P1并转到-->P2-->主页面 当你点击主页上的后退按钮时,应用程序不会退出,而是以循环方式转到P2 代码如下: try { ShellTile TileToFind = ShellTile.ActiveTiles.FirstOrDefault(x => x.NavigationUri.ToString().Contains("PageTake
try
{
ShellTile TileToFind = ShellTile.ActiveTiles.FirstOrDefault(x => x.NavigationUri.ToString().Contains("PageTakePic.xaml"));
if (TileToFind == null)
{
StandardTileData NewTileData = new StandardTileData
{
//BackgroundImage = new Uri("Red.jpg", UriKind.Relative),
//--front tile
Title = "Take Pic",
//Count = 12,
BackTitle = "Quick Access",
//--40 char
BackContent = "Take Pic",
//BackBackgroundImage = new Uri("Blue.jpg", UriKind.Relative)
};
// Create the Tile and pin it to Start. This will cause a navigation to Start and a deactivation of our application.
ShellTile.Create(new Uri("/PageTakePic.xaml", UriKind.Relative), NewTileData);
}
else
{
MessageBox.Show("A live title created for this service already.");
}
}
catch (Exception ex)
{
MessageBox.Show("Try again. Error encountered: " + ex.Message);
NavigationService.Navigate(new Uri("/MainPage.xaml", UriKind.Relative));
}
更新: 主屏幕中的实时互动程序--启动-->P1(PageTakePic.xaml)-->P2-->主页 使用以下方法无法在主页中工作。它仍然会进入一个循环:
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
base.OnNavigatedTo(e);
NavigationService.RemoveBackEntry();
}
如果您通过导航到主页来处理错误,如示例中所示:
NavigationService.Navigate(new Uri("/MainPage.xaml", UriKind.Relative));
然后有可能在某个时候,当你向后导航时,你会遇到一个错误并导航到主页面,所以你的活动互动程序会让你进入PageTakePic,然后当你按下后退时,导航失败,你会向前导航到主页面。然后,如果您通过导航到主页(如示例中所示)来处理错误,则“上一步”按钮将返回PageTakePic等…
NavigationService.Navigate(new Uri("/MainPage.xaml", UriKind.Relative));
然后有可能在某个时候,当你向后导航时,你会遇到一个错误并导航到主页面,所以你的活动互动程序会让你进入PageTakePic,然后当你按下后退时,导航失败,你会向前导航到主页面。然后,后退按钮让你回到PageTakePic等等… < P>这是一个常见的问题,考虑到从芒果现场瓷砖的深层链接。你需要做的是当你点击主页时删除backbackback条目,这样点击back按钮就会退出应用程序 以下是一个可能有帮助的片段:
void ClearBackStack()
{
while (NavigationService.CanGoBack)
{
NavigationService.RemoveBackEntry();
}
}
在芒果中,从活瓷砖的深层链接来看,这是一个常见的问题。你需要做的是当你点击主页时删除backbackback条目,这样点击back按钮就会退出应用程序 以下是一个可能有帮助的片段:
void ClearBackStack()
{
while (NavigationService.CanGoBack)
{
NavigationService.RemoveBackEntry();
}
}
看来问题出在别处了。。你的主页上有没有导航到PageTakePic的地方?我猜在这个过程中的某个地方,你设置了一些变量,你用它来决定你应该像其他地方一样导航环境。。你的主页上有没有导航到PageTakePic的地方?我猜在这个过程中的某个地方,你正在设置一些变量,用来确定你应该用你的方法更新它。它仍然返回到循环中。嗯,您可以尝试RootFrame.RemoveBackEntry,或者它可能是其他东西。此外,在您的问题更新中,您显示您只调用了一次RemoveBackEntry,但您需要在循环中调用它,就像我发布的ClearBackback函数一样。也许只是复制并粘贴ClearBackStack函数,然后调用它,看看是否可以修复它?谢谢。你是对的。放置在NavigatedTo事件中。它按照你的建议工作。我已经用你的方法更新了。它仍然返回到循环中。嗯,您可以尝试RootFrame.RemoveBackEntry,或者它可能是其他东西。此外,在您的问题更新中,您显示您只调用了一次RemoveBackEntry,但您需要在循环中调用它,就像我发布的ClearBackback函数一样。也许只是复制并粘贴ClearBackStack函数,然后调用它,看看是否可以修复它?谢谢。你是对的。放置在NavigatedTo事件中。它按照你的建议工作。是的,我在P2中使用你的导航方法。当我打开主页时,我需要按backkey按钮退出应用程序,但它会在循环中返回到P2。知道如何解决这个问题吗?我从来没有做过深度链接瓷砖,但我打赌有这样的例子,并展示了它是如何做到的。我会尝试在应用程序中调用Navigate或GoBack方法的所有行上放置一个断点(F9),我几乎肯定您会发现其中一个被意外调用。然后您可以检查堆栈以了解原因。是的,我在P2中使用了您的导航方法。当我打开主页时,我需要按backkey按钮退出应用程序,但它会在循环中返回到P2。知道如何解决这个问题吗?我从来没有做过深度链接瓷砖,但我打赌有这样的例子,并展示了它是如何做到的。我会尝试在应用程序中调用Navigate或GoBack方法的所有行上放置一个断点(F9),我几乎肯定您会发现其中一个被意外调用。然后可以检查堆栈以了解原因。