导航到另一个页面时,WP8.1应用程序崩溃

时间:2015-01-09 16:07:52

标签: c# windows-phone-8.1 win-universal-app

这是一款数据绑定的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;


    }

代码在点击最后一个括号后停止,应用程序退出。在此之前,它应该正常工作,值是正确的,它会找到特定的项目!

1 个答案:

答案 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));


        }
    }

我仍然不明白这个错误,但现在已经解决了。