导航页面时,xaml中的InvalidCastException

这是MainPage的点击事件的代码

void ItemView_ItemClick(object sender, ItemClickEventArgs e) { var item = ((EventItem)e.ClickedItem); this.Frame.Navigate(typeof(EventPage), new Navigator() { Parent = "Dashboard", Event = item }); } 

在图像下一页的代码

加载事件的sender参数是引发事件的控件(在本例中是当前页面); 所以它的类型是页面的类型,而不是Navigator

显然你试图访问传递给Frame.Navigate的参数。 要做到这一点,你应该重写OnNavigatedTo方法:

 protected override void OnNavigatedTo(NavigationEventArgs e) { var param = (Navigator)e.Parameter; ... }