2014-03-30 155 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()); 
    }); 
相關問題