我在VB.NET中运行WPF。我的页面由6个类别组成。每个类别都将导航到自己的页面。让我们说第一页是时尚,其次是餐馆,服务,健康,专业和室内装饰。当我像普通人一样点击时,没有问题。但是当我快速点击时,比如加速点击到餐馆然后服务,然后健康一段时间,它将在代码处于异常的功能导航。为什么这会在快速点击时发生?稳定点击没有问题。
导航时标题为" System.NullReferenceException未处理":
Private Sub navigate()
Select Case mytab
Case 1
NavigationService.Navigate(New Uri(GotoCategory1Screen, UriKind.RelativeOrAbsolute))
Case 2
NavigationService.Navigate(New Uri(GotoCategory2Screen, UriKind.RelativeOrAbsolute))
Case 3
NavigationService.Navigate(New Uri(GotoCategory3Screen, UriKind.RelativeOrAbsolute))
Case 4
NavigationService.Navigate(New Uri(GotoCategory4Screen, UriKind.RelativeOrAbsolute))
Case 5
NavigationService.Navigate(New Uri(GotoCategory5Screen, UriKind.RelativeOrAbsolute))
Case 6
NavigationService.Navigate(New Uri(GotoCategory6Screen, UriKind.RelativeOrAbsolute))
End Select
End Sub
有办法解决这个问题吗?
答案 0 :(得分:0)
通常快速点击不是问题,但你有另一种不使用uri的方法,因此不需要从uri初始化
您可以使用NavigationService.Navigate
的其他超载,它使用实例而不是uri,因此您可以保证在导航之前已完成初始化。这也可以让您检测错误源,初始化或导航。
例如
Category1Screen screen1 = new Category1Screen();
NavigationService.Navigate(screen1);
类Category1Screen
以上的只是一个示例,您必须使用实际的类。
应该解决问题,如果问题仍然存在,那么可能你错过了相关的代码,你可能需要查看屏幕的初始化代码