快速浏览Silverlight3 Beta:在线与离线状态检测

快速浏览Silverlight3 Beta:在线与离线状态检测,第1张

概述        在Silverlight3中提供了NetworkChange,NetworkInterface这两个类(均为abstract型),其中实现了NetworkAddressChanged的事件处理器用来检测当前在线状态,而NetworkInterface类的 GetIsNetworkAvailable()方法(返回bool类型),用来判断当前是否在线。有了这两个类,就可以很方便的实现动         在Silverlight3中提供了NetworkChangeNetworkInterface这两个类(均为abstract型),其中实现了NetworkAddressChanged的事件处理器用来检测当前在线状态,而NetworkInterface类的 GetIsNetworkAvailable()方法(返回bool类型),用来判断当前是否在线。有了这两个类,就可以很方便的实现动态检测当前应用是否连线了。         下面就是我写的一个DEMO,用于演示如何使用这两个方法,其中的XAML代码如下:   < UserControl  x:Class ="Off_Online.MainPage"
    xmlns
="http://schemas.microsoft.com/winfx/2006/xaml/presentation"  
    xmlns:x
="http://schemas.microsoft.com/winfx/2006/xaml"  
    WIDth
="400"  Height ="300" >
    
< GrID  x:name ="LayoutRoot"  Background ="White" >
        
< GrID.RowDeFinitions >
            
< RowDeFinition  Height ="150"   />
            
< RowDeFinition  Height ="150"   />
        
</ GrID.RowDeFinitions >
        
< Image  WIDth ="100"  Height ="100"  x:name ="StateIcon"   GrID.Row ="0"  HorizontalAlignment ="Center"   />
        
< TextBlock  name ="NetWorkState"  Foreground ="Red"  FontSize ="20"  GrID.Row ="1"  FontWeight ="Bold"   HorizontalAlignment ="Center"   > 当前状态未知 </ TextBlock >
    
</ GrID >
</ UserControl >  
    而相应的CS代码如下:   
  using  System.Net.networkinformation;

namespace  Off_Online
{
    
public   partial   class  MainPage : UserControl
    {
        
public  MainPage()
        {
            InitializeComponent();
            
this .Loaded  +=   new  RoutedEventHandler(MainPage_Loaded);
        }

        
voID  MainPage_Loaded( object  sender, RoutedEventArgs e)
        {
            NetworkChange.NetworkAddressChanged 
+=  OnNetworkAddressChanged;

            UpdateNetWorkState();
        }

        
voID  UpdateNetWorkState()
        {
            
string  state  =  NetworkInterface.GetIsNetworkAvailable()  ?   " Online "  :  " Offline " ;
            StateIcon.source 
=   new  System.windows.Media.Imaging.BitmAPImage( new  Uri( " /Images/ "   +  state  +   " .jpg " , UriKind.relative));
            NetWorkState.Text 
=  NetworkInterface.GetIsNetworkAvailable()  ?   " 在线 "  :  " 离线 " ;
        }
       
        
voID  OnNetworkAddressChanged( object  sender, EventArgs e)
        {
             UpdateNetWorkState();
        }
    }
}


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


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


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

以上是内存溢出为你收集整理的快速浏览Silverlight3 Beta:在线与离线状态检测全部内容,希望文章能够帮你解决快速浏览Silverlight3 Beta:在线与离线状态检测所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1050779.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-25
下一篇2022-05-25

发表评论

登录后才能评论

评论列表(0条)

    保存