WP7がネットワークに繋がってるかどうかをチェックします。
イベント実行時にチェックする分にはMicrosoft.Phone.Net.NetworkInformationを使います。
using Microsoft.Phone.Net.NetworkInformation; namespace NetAvailableWP7 { public partial class MainPage : PhoneApplicationPage { public MainPage() { InitializeComponent(); if (NetworkInterface.GetIsNetworkAvailable()) { TextBox.Text = "Online"; }else{ TextBox.Text ="Offline"; } } } }
ですが、Microsoft.Phone.Net.NetworkInformationでは、ネットワークの状態が変わったかのChangeEventは取れないみたいです。
なので、リアルタイムで取得したい場合は、SilverlightのOOBでも使っていたusing System.Net.NetworkInformationを使います。
using System.Net.NetworkInformation; namespace NetAvailableWP7 { public partial class MainPage : PhoneApplicationPage { public MainPage() { InitializeComponent(); //イベントはIPが変わったときに走るので、最初に検知する必要があるみたい if (NetworkInterface.GetIsNetworkAvailable()) { TextBox.Text = "Online"; } else { TextBox.Text = "Offline"; } NetworkChange.NetworkAddressChanged += new NetworkAddressChangedEventHandler(NetworkChange_NetworkAddressChanged); } private void NetworkChange_NetworkAddressChanged(object sender, EventArgs e) { if (NetworkInterface.GetIsNetworkAvailable()) { TextBox.Text = "Online"; } else { TextBox.Text = "Offline"; } } } }
追記
「ネットワーク接続の有無を確認するのであればNetworkAddressChangedよりもNetworkAvailabilityChangedを使った方が良いかも」@さくさんせんせー
こういうのがあるっぽいのでNetworkAvailabilityChangedのほうがよさげですね。