我的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();
}
}
调用堆栈:(不要如何使这个图像更容易阅读)
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;
}
答案 0 :(得分:0)
我相信你的问题就在这里
this.NavigationService.Navigate(new Uri("/Bombay.xaml", UriKind.Relative));
应该是
this.NavigationService.Navigate(new Uri("/Bombay.xaml", UriKind.RelativeOrAbsolute));