代码之家  ›  专栏  ›  技术社区  ›  Vijay

我无法在windows phone 7中导航到下一页

  •  0
  • Vijay  · 技术社区  · 10 年前

    我正在尝试从一个页面导航到另一个页面,这取决于登录。

    如果用户已经登录,则应打开欢迎页面。否则应打开登录页面。

    我正在这样做。启动页面是启动页面。

    这是一个启动屏幕Xaml.cs:

    namespace NewExample.Views
    {
        public partial class SplashPage : PhoneApplicationPage
        {
            public SplashPage()
            {
                InitializeComponent();
                this.DataContext = new SplashPageViewModel();
            }
        }
    }
    

    这是Splash屏幕视图模型:这里我检查用户是否已登录。

    namespace NewExample.ViewModel
    {
        public class SplashPageViewModel
        {
            public static bool isLogin = false;
    
            public SplashPageViewModel()
            {
                var rootFrame = (App.Current as App).RootFrame;
                if (isLogin)
                    rootFrame.Navigate(new Uri("/Views/WelcomePage.xaml", UriKind.Relative));
                else
                    rootFrame.Navigate(new Uri("/Views/LoginPage.xaml", UriKind.Relative));
            }
        }
    }
    

    但它不起作用。仅显示启动页面。这不是导航到另一页。请帮我解决这个问题。

    如果我在SplashPageXaml.cs中编写代码,它就可以工作了。

     protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
            {
                var rootFrame = (App.Current as App).RootFrame;
                if (isLogin)
                    rootFrame.Navigate(new Uri("/Views/WelcomePage.xaml", UriKind.Relative));
                else
                    rootFrame.Navigate(new Uri("/Views/LoginPage.xaml", UriKind.Relative));
            }
    

    但我想在 ViewModel .

    1 回复  |  直到 10 年前
        1
  •  1
  •   Ivan Zub    10 年前

    如果我正确理解你想要实现的目标-这里有一个完整的指南 nokia.developer 门户。

    如果要从ViewModel执行UI操作,请使用对 Dispatcher.BeginInvoke .