0

我想每次当用户失去他的网络连接时去应用程序的主页。我发现这DeviceNetworkInformation.NetworkAvailabilityChanged就是我正在寻找的东西,但我不确定我应该在方法中添加什么作为代码以及它是如何工作的。当我在主页中添加事件处理程序时,它是否适用于整个应用程序?我可以在那个方法NavigationService中使用Navigate方法吗?我在想我是否以某种方式检查我是否不在,MainPage.xaml然后我会导航到这个页面,如果是,那么我会调用其他代码(用于设置某些控件的可见性等)。这是这样做的好方法吗?我可以签入活动页面的代码吗?谢谢

4

3 回答 3

1

在您的 App 类中有一行:

public PhoneApplicationFrame RootFrame { get; private set; }

您可以使用它进行导航:

 private void GoToMainPage()
 {
    RootFrame(new Uri("View/MainPage.xaml", UriKind.Relative));
 }
于 2013-08-02T12:59:04.940 回答
0

我做:

    private bool InternetIsAvailable()
    {
        if (!NetworkInterface.GetIsNetworkAvailable())
        {
            //MessageBox.Show("No tienes conexión de internet.");

            return false;
        }
        else
        {
            //MessageBox.Show("Tienes conexión de internet.");
            return true;
        }
    }

但是,您可以使用此类NetworkChange并查看方法或事件 NetworkAvailabilityChanged

于 2013-08-02T16:45:54.740 回答
0

Anton 所说的是正确的,因为您可以轻松地从代码中的任何位置引用该 RootFrame,这将为您提供与 PhoneApplicationPage 中的 NavigationService 相同的功能,这样您就不会仅限于页面内的代码以进行导航。虽然我认为他错过了 .Navigate 方法调用:

RootFrame.Navigate(new Uri("View/MainPage.xaml", UriKind.Relative));

而且您还想以这种方式引用 RootFrame:

(Application.Current.RootVisual as PhoneApplicationFrame).Navigate(...)
于 2013-08-02T15:14:09.940 回答