NetworkChange.NetworkAddressChanged Event
Silverlight
Occurs when the IP address of a network interface changes.
Namespace: System.Net.NetworkInformation
Assembly: System.Net (in System.Net.dll)
The NetworkChange class raises NetworkAddressChanged events when the address of a network interface, also called a network card or adapter, changes.
To have a NetworkChange object call an event-handling method when a NetworkAddressChanged event occurs, you must associate the method with a NetworkAddressChangedEventHandler delegate, and add this delegate to this event.
The following example uses a NetworkAddressChangedEventHandler to handle NetworkAddressChanged events and detect when network availability changes.
public class Example { static bool online = false; public static void Demo(System.Windows.Controls.TextBlock outputBlock) { // Initialize the online variable and set a NetworkChange handler SetupNetworkChange(); outputBlock.Text += "Network is: "; if (online) outputBlock.Text += "online"; else outputBlock.Text += "offline"; // Now start the main work of the application } // method that gets called when the network changes static void OnNetworkChange(object sender, EventArgs e) { if (NetworkInterface.GetIsNetworkAvailable()) { if (!online) { online = true; // do what is needed to GoOnline(); } } else { if (online) { online = false; // do what is needed to GoOffline(); } } } private static void SetupNetworkChange() { // Get current network availalability and store the // initial value of the online variable if (NetworkInterface.GetIsNetworkAvailable()) { online = true; // do what is needed to GoOnline(); } else { online = false; // do what is needed to GoOffline(); } // Now add a network change event handler to indicate // network availability NetworkChange.NetworkAddressChanged += new NetworkAddressChangedEventHandler(OnNetworkChange); } }
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.