我正在使用WPF和导航服务。我需要在下一页导航之前捕捉到一个情况。 thera是否在导航下一页之前的任何事件?
Navigate("MyPage1.xaml")
Navigate("MyPage2.xaml")'now, I need a event which shows me : FromPage("MyPage1.xaml") before navigating to "MyPage2.xaml".
代码示例
Private Sub Window_Loaded(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded
Application.NavigationService = Me.ContentFrame.NavigationService
End Sub
Class Application
' Application-level events, such as Startup, Exit, and DispatcherUnhandledException
' can be handled in this file.
Public Shared NavigationService As NavigationService
End Class
Private Sub ContentFrame_Navigated(ByVal sender As Object, ByVal e As System.Windows.Navigation.NavigationEventArgs) Handles ContentFrame.Navigated
If Application.cLang Is Nothing Then Call InitializeLanguage()
'The following Welcome page is never visible because e.Uri is always the NEXT page
If e.Uri IsNot Nothing AndAlso (e.Uri.ToString.Contains("Pages/PageWelcome.xaml")) Then
Call UpdateLanguageCombobox()
End If
End Sub
Private Sub ContentFrame_Navigating(ByVal sender As Object, ByVal e As System.Windows.Navigation.NavigatingCancelEventArgs) Handles ContentFrame.Navigating
Dim Uri As Uri = CType(sender, Frame).Source
If Application.cLang Is Nothing Then Call InitializeLanguage()
'The following Welcome page is never visible because e.Uri is always the NEXT page
If e.Uri IsNot Nothing AndAlso (e.Uri.ToString.Contains("Pages/PageWelcome.xaml")) Then
'Call UpdateLanguageCombobox()
End If
End Sub
答案 0 :(得分:1)
是的!试试Navigating活动。请求导航时会引发此问题。有关NavigationServices事件的更多信息,请参见http://msdn.microsoft.com/en-us/library/ms615518.aspx的“备注”部分。
答案 1 :(得分:0)
在Silverlight中,有一个事件“OnNavigatedFom”在导航到该页面之前发生。希望WPF也可能是相同的。
protected override void OnNavigatedFrom(NavigationEventArgs e) {
base.OnNavigatedFrom(e);
}