Есть ли событие «До»? - PullRequest
0 голосов
/ 03 мая 2011

Я использую WPF с навигационной службой. Мне нужно поймать ситуацию, прежде чем перейти к следующей странице. Есть ли какое-либо событие «до» перехода по следующей странице?

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

Ответы [ 2 ]

1 голос
/ 03 мая 2011

Да! Попробуйте Навигация событие. Он поднимается при запросе навигации. Дополнительную информацию о событиях NavigationServices можно найти в разделе «Примечания» http://msdn.microsoft.com/en-us/library/ms615518.aspx.

0 голосов
/ 24 мая 2011

В Silverlight есть событие «OnNavigatedFom», которое происходит перед переходом на эту страницу. Надеюсь, что оно может быть таким же и для WPF.

protected override void OnNavigatedFrom(NavigationEventArgs e) {
    base.OnNavigatedFrom(e);
}
...