2014-03-30 158 views
0

我正在使用以下事件来收集网络信息,但我需要信息进行更新并在页面首次导航到时填充我的视图,以及网络更改时发生。如何强制在OnNavigatedTo事件中触发以下事件?如何强制NetworkAvailabilityChanged事件在页面加载时触发

// Subscribe to the NetworkAvailabilityChanged event 
DeviceNetworkInformation.NetworkAvailabilityChanged += new EventHandler<NetworkNotificationEventArgs>(ChangeDetected); 


... 


void ChangeDetected(object sender, NetworkNotificationEventArgs e) 
{ 
    ... 
} 

回答

0

ChangeDetected是一种方法。只需在OnNavigatedTo事件中调用它即可。

ChangeDetected(this, new NetworkNotificationEventArgs()); 
+0

我得到一个错误,说'类型'Microsoft.Phone.Net.NetworkInformation.NetworkNotificationEventArgs'没有定义的构造函数。 – Matthew

0

据我所知,你不能强制该事件发生(有人纠正我,如果我错了)。

从我在你的问题中可以看到的,你想要首先检查网页是否可用,当页面导航到。

using System.Net.NetworkInformation; 

.... 

protected virtual void OnNavigatedTo(NavigationEventArgs e) 
{ 
    bool isAvailable = NetworkInterface.GetIsNetworkAvailable(); 

    MessageBox.Show(isAvailable.ToString()); 
} 

做一些基本的搜索我能直接从微软找到这个资源解释如何使用包括页面(XAML)和代码(C#)的事件在此之后:这可以像下面这样做链接。

http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh487166(v=vs.105).aspx

0

尝试在UI线程中运行你的消息框代码,而不是它会检查连接变化的主要线索。

 Dispatcher.BeginInvoke(() => 
    { 
     MessageBox.Show(isAvailable.ToString()); 
    }); 
相关问题