Windows phone 7 直播标题进入无限循环

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

我使用live title启动特定页面:

主屏幕中的实时互动程序--在任务完成后启动-->P1并转到-->P2-->主页面

当你点击主页上的后退按钮时,应用程序不会退出,而是以循环方式转到P2

代码如下:

        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),我几乎肯定您会发现其中一个被意外调用。然后可以检查堆栈以了解原因。