【问题标题】:windows phone navigation immediately after loading page加载页面后立即进行 Windows Phone 导航
【发布时间】:2012-08-20 18:56:26
【问题描述】:

我有 2 页。(MainPage.xaml,second.xaml) MainPage.xaml 是登录页面。在此页面中,我发送登录名和密码,并接收结果。我将它们(结果)保存在隔离存储中并导航到 second.xaml 页面; 下次启动此应用程序时,我从 Isolate Storage 中提取数据,我想立即导航 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)

【问题讨论】:

标签: c# windows-phone-7 isolatedstorage navigationservice


【解决方案1】:

你可以按照 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));
    }
}

【讨论】:

【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多