我在哪里错了?
private void lstCars_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
string currCar = (sender as ListBox).SelectedItem as string;
NavigationService.Navigate(new Uri("/ViewCarDetails.xaml?info=" + currCar, UriKind.Relative));
}
这是我试图导航到
的页面 public ViewCarDetails(string registrationNum)
{
//stuff
}
这是我收到错误时程序跳转到的代码(在App.xaml.cs中)
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();
}
}
我已经检查了URI,但没有输入错别字 谢谢
答案 0 :(得分:1)
问题是你通过NavigationService传递一个参数,而ViewCarDetails类构造函数正在期待一个你没有经过的参数。
要解决这个问题,你必须创建一个没有参数的构造函数,并从NavigatedTo事件中获取通过导航服务的参数,如下所示:
public ViewCarDetails()
{
//stuff
}
和
protected override void OnNavigatedTo(NavigationEventArgs e)
{
string registrationNum = string.Empty;
if (NavigationContext.QueryString.TryGetValue("index", out registrationNum))
{
//do stuff
}
}
尝试一下,让我们知道,
增加:
public class ViewCarDetails : PhoneApplicationPage
{
private string registrationNum;
public ViewCarDetails()
{
//stuff
}
protected override void OnNavigatedTo(NavigationEventArgs e)
{
registrationNum = string.Empty;
if (NavigationContext.QueryString.TryGetValue("index", out registrationNum))
{
//do stuff
}
}
//other methods and properties
}
的问候,