意外崩溃的WP7应用程序。 RootFrame_NavigationFailed

时间:2013-12-23 13:54:23

标签: c# visual-studio-2010 xaml windows-phone-7

我的WP7应用程序有一个包含8个文本块的列表页面,每个文本块都导航到一个新页面。在模拟器和手机上进行测试时,我可以反复点击任何文本块而没有任何问题,但是如果我按顺序从上到下(或反向)按下项目列表,我最终会遇到一个停在System.Diagnostics的项目。 .Debugger.Break();与app.rootframe_navigationfailed。我可以再次运行它并点击相同的文本块,没有例外?这是一个错误吗?有没有人遇到过这个?

// Code to execute if a navigation fails
    private void RootFrame_NavigationFailed(object sender, NavigationFailedEventArgs e)
    {
        if (System.Diagnostics.Debugger.IsAttached)
        {
            // A navigation has failed; break into the debugger
            System.Diagnostics.Debugger.Break();
        }
    }

调用堆栈:(不要如何使这个图像更容易阅读) enter image description here

XAML:

Grid x:Name="ContentPanel" Grid.Row="1" Margin="6,-5,6,0">
        <ScrollViewer x:Name="ScrolViewer" >
            <StackPanel>
                <TextBlock Height="Auto" Margin="6,5,0,0" Name="Bombay" Text="BOMBAY"  VerticalAlignment="Top" FontSize="56" ManipulationStarted="Bombay_Click" HorizontalAlignment="Left" />
            </StackPanel>
        </ScrollViewer>      

点击事件:

private void Bombay_Click(object sender, ManipulationStartedEventArgs args)
    {
        this.NavigationService.Navigate(new Uri("/Bombay.xaml", UriKind.Relative));
        args.Complete();
        args.Handled = true;
    }

编辑: 我也试过点击事件,问题仍然存在。

private void bombay_Tap(object sender, System.Windows.Input.GestureEventArgs e)
    {
        this.NavigationService.Navigate(new Uri("/Bombay.xaml", UriKind.Relative));
        //stop the event from going to the parent map control
        e.Handled = true;
    }

1 个答案:

答案 0 :(得分:0)

我相信你的问题就在这里

 this.NavigationService.Navigate(new Uri("/Bombay.xaml", UriKind.Relative));

应该是

 this.NavigationService.Navigate(new Uri("/Bombay.xaml", UriKind.RelativeOrAbsolute));