.NEt专家博客!
一步一步学Silverlight 2系列(24):与浏览器交互相关辅助方法
概述
Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支持框架语言Visual Basic, Visual C#, IronRuby, Ironpython,对JSON、Web Service、WCF以及Sockets的支持等一系列新的特性。《一步一步学Silverlight 2系列》文章将从Silverlight 2基础知识、数据与通信、自定义控件、动画、图形图像等几个方面带您快速进入Silverlight 2开发。
本文是Silverlight 2与浏览器交互的最后一篇,将介绍相关的辅助类方法。
获取浏览器信息
在Silverlight 2中提供了获取浏览器信息的一个类BrowserInformation,可供我们直接调用,如获取浏览器名称及浏览器版本,是否禁用Cookies等信息。做一个简单的示例,定义XAML如下:
<Gridx:Name="LayoutRoot"Background="#CDFCAE">ITPUB个人空间7y$[#IC q
<Grid.RowDefinitions>
-qW3K-S0N)K0<RowDefinitionHeight="40"></RowDefinition>
&ysz1j8B0<RowDefinitionHeight="40"></RowDefinition>ITPUB个人空间@7xvwh']%f"j CT5_
<RowDefinitionHeight="40"></RowDefinition>ITPUB个人空间(N-CKe+~X9T?
<RowDefinitionHeight="40"></RowDefinition>
&G z'yCAQ0<RowDefinitionHeight="140"></RowDefinition>
~3F[;Q1g9kz'jAL0</Grid.RowDefinitions>
~[$w vwS8\'G%S.E w)`0<Grid.ColumnDefinitions>ITPUB个人空间,p5^V"B'Ht bIY}
<ColumnDefinitionWidth="300"></ColumnDefinition>ITPUB个人空间c|:~i!C/N8T${1_b
<ColumnDefinitionWidth="300"></ColumnDefinition>
5v#yOk ln_0</Grid.ColumnDefinitions>ITPUB个人空间3d;t(dH D
H3J l#E5uA3X'Z0<TextBlockText="Name:"Style="{StaticResourcetitle}"
(Kt%Ff\om@ N0Grid.Row="0"Grid.Column="0"></TextBlock>ITPUB个人空间)y+q7s-blC
<TextBlockx:Name="Name"Style="{StaticResourcecontent}"ITPUB个人空间3l[ ohL0_3\O
Grid.Row="0"Grid.Column="1"></TextBlock>
y;Zs]0v8@(t0
h]B ZS|j0<TextBlockText="BrowserVersion:"Style="{StaticResourcetitle}"
,no'm`8X0Grid.Row="1"Grid.Column="0"></TextBlock>ITPUB个人空间3XRq1I|2aTI
<TextBlockx:Name="BrowserVersion"Style="{StaticResourcecontent}"ITPUB个人空间Q&X1yLCN9~
Grid.Row="1"Grid.Column="1"></TextBlock>ITPUB个人空间-pA'|P7Kl
~;N2m`^ f3V"_Mc0<TextBlockText="CookiesEnabled:"Style="{StaticResourcetitle}"
7t#`zq[0Grid.Row="2"Grid.Column="0"></TextBlock>ITPUB个人空间-K#{%S\d`(r D5G(Vn
<TextBlockx:Name="CookiesEnabled"Style="{StaticResourcecontent}"ITPUB个人空间E+IQ*] XF
Grid.Row="2"Grid.Column="1"></TextBlock>
7{_"UA5RS0ITPUB个人空间$K2rf:c;\$JZ g0xx
<TextBlockText="Platform.:"Style="{StaticResourcetitle}"ITPUB个人空间b&s$d;I%L"\7e#I
Grid.Row="3"Grid.Column="0"></TextBlock>ITPUB个人空间'h ?5{ y!fO
<TextBlockx:Name="Platform"Style="{StaticResourcecontent}"ITPUB个人空间0MY2J3@-Xgr)V
Grid.Row="3"Grid.Column="1"></TextBlock>ITPUB个人空间?V:Lf$?
ITPUB个人空间xcYI2gO @~2q+N
<TextBlockText="UserAgent:"Style="{StaticResourcetitle}"ITPUB个人空间3xBIJMD9Y5t9H
Grid.Row="4"Grid.Column="0"></TextBlock>
6p0gFH#gX+H [,u0<TextBlockx:Name="UserAgent"Style="{StaticResourcecontent}"ITPUB个人空间Of&c#f2e1Z9s'n&s
Grid.Row="4"Grid.Column="1"TextWrapping="Wrap"></TextBlock>
%~-m"e9e-s@^g"{0</Grid>
在Loaded事件中获取相关信息:
private voidUserControl_Loaded(objectsender,RoutedEventArgse)ITPUB个人空间Y$qWLg Q|
{
7P6^#n GR7Ml1M0BrowserInformationbrowser =HtmlPage.BrowserInformation;
.G-T(c3yW;e$d-{l0ITPUB个人空间s{]:fz{,b p
Name.Text = browser.Name;
Ug+_CK{0BrowserVersion.Text = browser.BrowserVersion.ToString();
0B,Vi)? re4rL0CookiesEnabled.Text = browser.CookiesEnabled.ToString();