这是一款数据绑定的Windows Phone 8.1(通用)应用。当我从主页面导航到项目的详细视图时,它就像一个魅力。当我使用相同的代码从另一个页面导航到同一个详细的代码时,我的应用程序关闭,我也不会例外。打开新的集线器项目时,代码与集线器默认样本中的代码相同。 这是我用来导航到他页面的代码。
private void ItemView_ItemClick(object sender, ItemClickEventArgs e)
{
{
// Navigate to the appropriate destination page, configuring the new page
// by passing required information as a navigation parameter
var itemId = ((SampleDataItem)e.ClickedItem).UniqueId;
if (!Frame.Navigate(typeof(Session), itemId))
{
throw new Exception(this.resourceLoader.GetString("NavigationFailedExceptionMessage"));
}
}
}
这是我用来处理加载的代码
private async void NavigationHelper_LoadState(object sender, LoadStateEventArgs e)
{
// TODO: Create an appropriate data model for your problem domain to replace the sample data
var item = await SampleDataSource.GetItemAsync((string)e.NavigationParameter);
this.DefaultViewModel["Item"] = item;
}
代码在点击最后一个括号后停止,应用程序退出。在此之前,它应该正常工作,值是正确的,它会找到特定的项目!
答案 0 :(得分:3)
找到解决方案here并将我的代码更改为
private async void ItemView_ItemClick(object sender, ItemClickEventArgs e)
{
{
var itemId = ((SampleDataItem)e.ClickedItem).UniqueId;
await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => Frame.Navigate(typeof(Session), itemId));
}
}
我仍然不明白这个错误,但现在已经解决了。