如何快速检测Silverlight3 Beta的在线与离线状态?

2026-05-25 08:503阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计497个文字,预计阅读时间需要2分钟。

如何快速检测Silverlight3 Beta的在线与离线状态?

在Silverlight 3中,引入了`NetworkChange`和`NetworkInterface`这两个抽象类,它们分别用于检测网络状态变化。`NetworkChange`类实现了`NetworkAddressChanged`事件处理器,用以监测当前在线状态。`NetworkInterface`类则提供了`GetIsNetworkAvailable`方法,用以判断网络是否可用。

在Silverlight3中提供了NetworkChange,NetworkInterface这两个类(均为abstract型),
其中实现了NetworkAddressChanged的事件处理器用来检测当前在线状态,而NetworkInterface
类的 GetIsNetworkAvailable()方法(返回bool类型),用来判断当前是否在线。有了这两个类,
就可以很方便的实现动态检测当前应用是否连线了。

下面就是我写的一个DEMO,用于演示如何使用这两个方法,其中的XAML代码如下:

<UserControlx:Class="Off_Online.MainPage"
xmlns="schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="schemas.microsoft.com/winfx/2006/xaml"
Width="400"Height="300">
<Gridx:Name="LayoutRoot"Background="White">
<Grid.RowDefinitions>
<RowDefinitionHeight="150"/>
<RowDefinitionHeight="150"/>
</Grid.RowDefinitions>
<ImageWidth="100"Height="100"x:Name="StateIcon"Grid.Row="0"HorizontalAlignment="Center"/>
<TextBlockName="NetWorkState"Foreground="Red"FontSize="20"Grid.Row="1"FontWeight="Bold"HorizontalAlignment="Center">当前状态未知</TextBlock>
</Grid>
</UserControl>


而相应的CS代码如下:

usingSystem.Net.NetworkInformation;

namespaceOff_Online
{
publicpartialclassMainPage:UserControl
{
publicMainPage()
{
InitializeComponent();
this.Loaded+=newRoutedEventHandler(MainPage_Loaded);
}

voidMainPage_Loaded(objectsender,RoutedEventArgse)
{
NetworkChange.NetworkAddressChanged+=OnNetworkAddressChanged;

UpdateNetWorkState();
}

voidUpdateNetWorkState()
{
stringstate=NetworkInterface.GetIsNetworkAvailable()?"Online":"Offline";
StateIcon.Source=newSystem.Windows.Media.Imaging.BitmapImage(newUri("/Images/"+state+".jpg",UriKind.Relative));
NetWorkState.Text=NetworkInterface.GetIsNetworkAvailable()?"在线":"离线";
}

voidOnNetworkAddressChanged(objectsender,EventArgse)
{
UpdateNetWorkState();
}
}
}


下面就是其运行效果,首先是在线状态:




然后拔掉网线,就会显示离线状态了:





好了,今天的内容就先到这里了,源码下载,请点击这里:)


原文链接:www.cnblogs.com/daizhj/archive/2009/05/05/1450061.html

作者: daizhj, 代震军

如何快速检测Silverlight3 Beta的在线与离线状态?

Tags: silverlight,offline,online

网址: daizhj.cnblogs.com/

本文共计497个文字,预计阅读时间需要2分钟。

如何快速检测Silverlight3 Beta的在线与离线状态?

在Silverlight 3中,引入了`NetworkChange`和`NetworkInterface`这两个抽象类,它们分别用于检测网络状态变化。`NetworkChange`类实现了`NetworkAddressChanged`事件处理器,用以监测当前在线状态。`NetworkInterface`类则提供了`GetIsNetworkAvailable`方法,用以判断网络是否可用。

在Silverlight3中提供了NetworkChange,NetworkInterface这两个类(均为abstract型),
其中实现了NetworkAddressChanged的事件处理器用来检测当前在线状态,而NetworkInterface
类的 GetIsNetworkAvailable()方法(返回bool类型),用来判断当前是否在线。有了这两个类,
就可以很方便的实现动态检测当前应用是否连线了。

下面就是我写的一个DEMO,用于演示如何使用这两个方法,其中的XAML代码如下:

<UserControlx:Class="Off_Online.MainPage"
xmlns="schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="schemas.microsoft.com/winfx/2006/xaml"
Width="400"Height="300">
<Gridx:Name="LayoutRoot"Background="White">
<Grid.RowDefinitions>
<RowDefinitionHeight="150"/>
<RowDefinitionHeight="150"/>
</Grid.RowDefinitions>
<ImageWidth="100"Height="100"x:Name="StateIcon"Grid.Row="0"HorizontalAlignment="Center"/>
<TextBlockName="NetWorkState"Foreground="Red"FontSize="20"Grid.Row="1"FontWeight="Bold"HorizontalAlignment="Center">当前状态未知</TextBlock>
</Grid>
</UserControl>


而相应的CS代码如下:

usingSystem.Net.NetworkInformation;

namespaceOff_Online
{
publicpartialclassMainPage:UserControl
{
publicMainPage()
{
InitializeComponent();
this.Loaded+=newRoutedEventHandler(MainPage_Loaded);
}

voidMainPage_Loaded(objectsender,RoutedEventArgse)
{
NetworkChange.NetworkAddressChanged+=OnNetworkAddressChanged;

UpdateNetWorkState();
}

voidUpdateNetWorkState()
{
stringstate=NetworkInterface.GetIsNetworkAvailable()?"Online":"Offline";
StateIcon.Source=newSystem.Windows.Media.Imaging.BitmapImage(newUri("/Images/"+state+".jpg",UriKind.Relative));
NetWorkState.Text=NetworkInterface.GetIsNetworkAvailable()?"在线":"离线";
}

voidOnNetworkAddressChanged(objectsender,EventArgse)
{
UpdateNetWorkState();
}
}
}


下面就是其运行效果,首先是在线状态:




然后拔掉网线,就会显示离线状态了:





好了,今天的内容就先到这里了,源码下载,请点击这里:)


原文链接:www.cnblogs.com/daizhj/archive/2009/05/05/1450061.html

作者: daizhj, 代震军

如何快速检测Silverlight3 Beta的在线与离线状态?

Tags: silverlight,offline,online

网址: daizhj.cnblogs.com/