Windows phone 8 从列表框导航到详细信息页面。WP8
通过遵循上的指南,我在解决方案中添加了一个新项目,以显示母版页(在数据模板中包含一个带有图像和texblock的列表框)和一个DetailsPage(StackPanel中的Header、image和TextBlock)。列表显示得很好,但在点击图像或文本块时,不会导航到DetailsPage或其他任何位置,但会在输出中引发此错误: 中发生“System.InvalidOperationException”类型的异常 Microsoft.Phone.ni.dll,在托管/本机 边界程序“[732]TaskHost.exe”已退出,代码为-1 (0xFFFFFF) 并转到App cs文件中的这部分代码:Windows phone 8 从列表框导航到详细信息页面。WP8,windows-phone-8,exception-handling,listbox,navigation,master-detail,Windows Phone 8,Exception Handling,Listbox,Navigation,Master Detail,通过遵循上的指南,我在解决方案中添加了一个新项目,以显示母版页(在数据模板中包含一个带有图像和texblock的列表框)和一个DetailsPage(StackPanel中的Header、image和TextBlock)。列表显示得很好,但在点击图像或文本块时,不会导航到DetailsPage或其他任何位置,但会在输出中引发此错误: 中发生“System.InvalidOperationException”类型的异常 Microsoft.Phone.ni.dll,在托管/本机 边界程序“[732
//导航失败时要执行的代码
私有void RootFrame_NavigationFailed(对象发送方,NavigationFailedEventArgs e)
{
if(Debugger.IsAttached)
{
//导航失败;请闯入调试器
Debugger.Break();
}
}
如果我在NavigationFailed过程中按住“e”参数的光标,它会显示:
在“/DetailsPage.XAML”位置未找到XAML
这是我在“MasterPage.xaml”中看到的内容,其中包含以下列表:
这是背后的代码。请告诉我错误,并指导我正确使用SelectedItem/SelectedItem/SelectedIndex/SelectedIndex(我只是不知道如何使用它们,也不知道它们的正确符号)
private void MainListBox\u SelectionChanged(对象发送者,selectionchangedventargs e)
{
//如果所选项目为空(无选择),则不执行任何操作
如果(MainListBox.SelectedItem==null)
返回;
//导航到新页面
NavigationService.Navigate(新Uri(“/DetailsPage.xaml?selectedItem=“+MainListBox.selectedItem,UriKind.Relative));
//NavigationService.Navigate(新Uri(“/DetailsPage.xaml?selectedIndex=“+MainListBox.selectedIndex,UriKind.Relative));
//将所选项目重置为空(无选择)
MainListBox.SelectedItem=null;
}
首先,将代码更改回SelectedIndex
,但我会使用其他数字来标识自定义类
此异常在大多数情况下意味着它无法在解决方案中找到请求的页面。如果将DetailsPage移动到某个子文件夹,则需要更改如下路径:[subfolder]/DetailsPage.xaml
另外,如果您再次遇到异常,请将鼠标悬停在私有void RootFrame\u NavigationFailed(对象发送方,NavigationFailedEventArgs e)
中的e
参数上,并告诉我们它是什么意思。明白了!
你是对的。
当我向解决方案中添加一个新项目时,导航服务需要第二个项目的完整路径和要导航到的页面(我觉得很奇怪,因为我正在第二个项目中的页面之间导航)。
好吧,这是我的解决方案:
在母版页中:
NavigationService.Navigate(new Uri("/DataBoundApp1;component/DetailsPage.xaml?selectedItem=" + (MainLongListSelector.SelectedItem as ItemViewModel).ID, UriKind.Relative));
谢谢你的帮助 您的解决方案资源管理器是这样的吗:?是的,它看起来是一样的,加上一个“图像”文件夹。很高兴它能工作!您应该提到,您的解决方案有更多的项目;)然后,正如您的解决方案所示,导航会略有不同。