Care.App.RootFrame_Navigating C# (CSharp) Method

RootFrame_Navigating() private method

private RootFrame_Navigating ( object sender, System.Windows.Navigation.NavigatingCancelEventArgs e ) : void
sender object
e System.Windows.Navigation.NavigatingCancelEventArgs
return void
        private void RootFrame_Navigating(object sender, NavigatingCancelEventArgs e)
        {
            // 如果不是到MainPage页,或者现在根本就不是启动过程中,就不管
            // 因我我们只想在启动过程中将转向MainPage的请求重定向到PassWord页
            // NeedChangeStartPage被初始化为True
            // 只要加载了任何一个页面就会被更改为False
            // 目前可能作为启动页的有Password.xaml和MainPage.xaml

            if (e.Uri.ToString().Contains("/MainPage.xaml") != true || !NeedChangeStartPage)
                return;
            NeedChangeStartPage = false;
            // 如果是到MainPage的话:
            bool needPassWord = PreferenceHelper.GetPreference("Global_UsePassword") == "True";
            //bool useBlessingPage = PreferenceHelper.GetPreference("Global_UseBlessingPage") != "False";
            e.Cancel = true;
            RootFrame.Dispatcher.BeginInvoke(delegate
            {

                if (needPassWord)
                {
                    RootFrame.Navigate(new Uri("/Views/Password/PassWord.xaml", UriKind.Relative));
                }
                else
                {
                    RootFrame.Navigate(new Uri("/MainPage.xaml", UriKind.Relative));

                }
            });
        }