0

我有 2 页。(MainPage.xaml,second.xaml) MainPage.xaml 是登录页面。在此页面中,我发送登录名和密码,并接收结果。我将它们(结果)保存在隔离存储中并导航到 second.xaml 页面;当我下次启动此应用程序时,我从隔离存储中提取数据,我想立即导航 second.xaml,但我不知道如何

我试着写

public MainPage()
    {
        InitializeComponent();

       //function for Isolate storage
        InitializeSettings();
        NavigationService.Navigate(new Uri("/Conversation.xaml", UriKind.Relative));
    }

但它不起作用)我知道我无法使用与 MainPage() 构造函数关联的导航代码。当然,我可能会做简单的按钮,但我希​​望快速导航

我认为可能与 App.xaml 方法有关

private void Application_Launching(object sender, LaunchingEventArgs e)

比如写我的方法

        //function for Isolate storage
        InitializeSettings();

有导航吗?(导航在这个例子中不起作用)

private void Application_Launching(object sender, LaunchingEventArgs e)
{
InitializeSettings();
 NavigationService.Navigate(new Uri("/Conversation.xaml", UriKind.Relative));
}

我可以在哪里使用导航,所以直接进入 second.xaml 页面,无需完全加载 MainPage.xaml(可能没有 MainPage.xaml)

4

2 回答 2

2

你可以按照 Rana Tallal 说的去做。

或者你可以用代码编写它:

public MainPage()
{
    InitializeComponent();

    Loaded += (s, e) =>
    {
        InitializeSettings();

        // Some login-password check condition
        if (_login && _password)
            NavigationService.Navigate(new Uri("/Conversation.xaml",
                                               UriKind.Relative));
    }
}
于 2012-08-20T10:38:37.030 回答
1

好吧,创建一个新功能......并在其中执行您希望它导航的检查,如果检查正常,则调用导航服务 navigationservice.navigate(....) 代码。现在您需要告诉程序在主页面完全加载时调用此函数。为此,请在其末尾标记的 mainpage 的 xml 中写入 loaded="function_name" 现在,当页面将被加载时,将调用此函数。如果登录信息存在于隔离存储中,则将调用导航服务,否则将显示主页。

确保将 (object sender, RoutedEventArgs e) 放入函数参数中(因为它是一个事件处理程序)。

于 2012-08-20T10:22:26.710 回答