微软于PDC2009上发布Silverlight 4 Beta版,微软在Silverlight 4版本中处理了约8000个的Silverlight终端用户的请求,加入了一系列另开发人员兴奋的新特性,最突出的主要体现在几个方面:
开发工具增强:Visual Studio 2010具有可视化的设计工具,创建项目时可以选择运行时版本是3.0还是4.0,BLEND4加入XAML和C#代码全方位智能感知功能、XAML的样式应用更为易用等。
摄像头与MIC硬件支持:可以用极少量的代码实现启用用户本机的WebCam和Mic,并可进行本地录制。
报表打印支持:报表打印问题在Silverlight4中得到的较好的解决。
更强大的基础类控件(RichTextBox、DataGrid增强版):富文本控件RichTextBox和具有可粘贴、排序功能的DataGrid被加入。
WCF增强:终于支持TCP通讯,比较HTTP提升3-5倍,限于4502-4534端口。
兼容性增强:对Google的Chrome浏览器的支持。
MEF支持:MEF全称为Managed Extensibility Framework,译为“托管扩展框架”,支持创建大型复杂的应用程序。
运行速度提升:启动速度和渲染速度较前个版本提升约2倍左右。
DRM增强:支持PlayReady,可以对视频和音频的播放进行的保护,补充了对H.264的DRM保护。
其它增强:本地文件读写、鼠标右键事件支持、剪粘板支持。
WebBrowser是Silverlight4版本中加入的一个运行在Silverlight应用程序内部的浏览器控件,这是一个非常有用的控件,当我们Silverlight应用程序需要在某个位置显示一些HTML内容或是一个网址网页的时候,WebBrowser就派上用场了。
通过在Silverlight应用程序嵌入WebBrowser控件的方法可以弥补Silverlight应用程序不能显示HTML网页的不足,下面我们来通过一个Silverlight版本的“浏览器”来介绍如何在Silverlight4应用程序使用WebBrowser控件,这个示例分别介绍了如何使用WebBrowser来显示一段固定的HTML代码和一个URL网页。
首先完成浏览器的XAML布局。
XAML:
1
<
Grid
x:Name
=
"
LayoutRoot
"
Background
=
"
White
"
>
2
<
Grid.RowDefinitions
>
3
<
RowDefinition
Height
=
"
35
"
/
>
4
<
RowDefinition
Height
=
"
40
"
/
>
5
<
RowDefinition
Height
=
"
*
"
/
>
6
<
/Grid.RowDefinitions
>
7
<
Grid.ColumnDefinitions
>
8
<
ColumnDefinition
Width
=
"
*
"
/
>
9
<
/Grid.ColumnDefinitions
>
10
<
Grid
Grid
.Row=
"
1
"
Grid
.Column=
"
0
"
>
11
<
Grid.RowDefinitions
>
12
<
RowDefinition
Height
=
"
35
"
/
>
13
<
/Grid.RowDefinitions
>
14
<
Grid.ColumnDefinitions
>
15
<
ColumnDefinition
Width
=
"
80
"
/
>
16
<
ColumnDefinition
Width
=
"
*
"
/
>
17
<
ColumnDefinition
Width
=
"
60
"
/
>
18
<
/Grid.ColumnDefinitions
>
19
<!--
浏览器功能栏
-->
20
<
TextBlock
Height
=
"
20
"
FontWeight
=
"
Bold
"
Text
=
"
输入URL
"
/
>
21
<
TextBox
Grid
.Row=
"
0
"
Grid
.Column=
"
1
"
22
x:Name
=
"
tbUrl
"
Height
=
"
25
"
FontSize
=
"
14
"
/
>
23
<
Button
x:Name
=
"
btnGo
"
Click
=
"
btnGo_Click
"
24
Content
=
"
GO
"
FontWeight
=
"
Bold
"
Grid
.Row=
"
0
"
Grid
.Column=
"
2
"
25
Width
=
"
50
"
Height
=
"
30
"
/
>
26
<
/Grid
>
27
<!--
浏览器标题
-->
28
<
Border
Background
=
"
Yellow
"
29
Grid
.Row=
"
0
"
Grid
.Column=
"
0
"
>
30
<
TextBlock
Grid
.Row=
"
0
"
Grid
.Column=
"
0
"
31
Width
=
"
300
"
Height
=
"
25
"
FontWeight
=
"
Bold
"
32
FontSize
=
"
16
"
33
Text
=
"
欢迎使用Silverlight浏览器
V1.0
"
/
>
34
<
/Border
>
35
<!--
WebBrowser控件
-->
36
<
WebBrowser
x:Name
=
"
wb1
"
Grid
.Row=
"
2
"
Grid
.Column=
"
0
"
/
>
37
<
/Grid
>