Windows Phone - 丢失网络连接的事件处理程序

时间:2013-08-02 07:44:30

标签: c# windows-phone-7 windows-phone-8 connectivity

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

3 个答案:

答案 0 :(得分:1)

在你的App类中有一行:

public PhoneApplicationFrame RootFrame { get; private set; }

您可以使用它进行导航:

 private void GoToMainPage()
 {
    RootFrame(new Uri("View/MainPage.xaml", UriKind.Relative));
 }

答案 1 :(得分:0)

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

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

并且您还希望以这种方式引用RootFrame:

(Application.Current.RootVisual as PhoneApplicationFrame).Navigate(...)

答案 2 :(得分: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