C# Windows Phone-丢失网络连接的事件处理程序
每当用户失去网络连接时,我都想转到应用程序的主页。我发现,C# Windows Phone-丢失网络连接的事件处理程序,c#,windows-phone-7,windows-phone-8,connectivity,C#,Windows Phone 7,Windows Phone 8,Connectivity,每当用户失去网络连接时,我都想转到应用程序的主页。我发现,DeviceNetworkInformation.NetworkAvailabilityChanged是我正在寻找的,但我不确定应该在方法中添加什么作为代码,以及它是如何工作的。当我在主页面中添加eventhandler时,它对整个应用程序是否有效?我可以用NavigationService方法使用Navigate方法吗?我在想,我会以某种方式检查我是否不在MainPage.xaml上,然后导航到此页面,如果是,则调用其他代码(用于设置某
DeviceNetworkInformation.NetworkAvailabilityChanged
是我正在寻找的,但我不确定应该在方法中添加什么作为代码,以及它是如何工作的。当我在主页面中添加eventhandler时,它对整个应用程序是否有效?我可以用NavigationService
方法使用Navigate
方法吗?我在想,我会以某种方式检查我是否不在MainPage.xaml上,然后导航到此页面,如果是,则调用其他代码(用于设置某些控件的可见性等)。这样做好吗?我可以签入激活页面的代码吗?谢谢在你的应用程序课程中有一行:
public PhoneApplicationFrame RootFrame { get; private set; }
您可以使用它进行导航:
private void GoToMainPage()
{
RootFrame(new Uri("View/MainPage.xaml", UriKind.Relative));
}
Anton所说的是正确的,因为您可以轻松地从代码中的任何位置引用根框架,这将为您提供与PhoneApplicationPage中的NavigationService相同的功能,这样您就不必为了导航而仅限于页面中的代码。尽管我认为他错过了.Navigate方法调用:
RootFrame.Navigate(new Uri("View/MainPage.xaml", UriKind.Relative));
您还希望以以下方式引用根框架:
(Application.Current.RootVisual as PhoneApplicationFrame).Navigate(...)
我有:
但是,您可以使用此类并查看方法或事件NetworkAvailabilityChanged您可以在App.xaml.cs文件中订阅,但我不能使用NavigationService。在App.xaml.cs中导航。查看一下,我得到了“无效的跨线程访问”。错误,当我使用Dispatche.BeginInvoke时,我的应用程序只是崩溃。使用dispatcher,我得到了以下错误:“现在没有碎片支持”
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;
}
}