微软于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保护。
其它增强:本地文件读写、鼠标右键事件支持、剪粘板支持。
Silverlight 4.0开始加入了System.Windows.Clipboard(剪切板操作)类,有了它我们就可以非常方便的操作剪切板的数据了,这让一些Silverlight应用程序中的文本可以COPY到Clipboard之中,同时你可以将从其它来源COPY到剪切板中的内容粘贴到Silverlight应用程序之中,在此之前我们只能通过JavaScript来访问剪切板。
接下来我们看一下Clipboard类为我们带来了什么,Clipboard类支持ContainsText、SetText和GetText三个方法,其中ContainsText可以返回一个bool类型的值,让我们知道剪切板目前保存的类型是否是Silverlight所支持的Unicode类型字符,SetText和GetText分别是用来设置和获GetText剪切板的文本数据。
下面我们看一个Silverlight操作剪切板的实例:
XAML:
2 <Grid.RowDefinitions>
3 <RowDefinition/>
4 <RowDefinition/>
5 </Grid.RowDefinitions>
6 <Grid.ColumnDefinitions>
7 <ColumnDefinition/>
8 <ColumnDefinition Width="100"/>
9 </Grid.ColumnDefinitions>
10 <TextBox x:Name="tbCopy" Width="260" Height="30"/>
11 <TextBox x:Name="tbPaste" Width="260" Height="30" Grid.Row="1"/>
12 <Button Content="复制" Grid.Column="1"
13 Click="btnCopy_Click"
14 x:Name="btnCopy" Width="80" Height="25"/>
15 <Button Content="粘贴" Grid.Column="1" Grid.Row="1"
16 Click="btnPaste_Click"
17 x:Name="btnPaste" Width="80" Height="25"/>
18 </Grid>
C#:
2 {
3 if(tbCopy.Text!=string.Empty)
4 {
5 //设置剪切板
6 Clipboard.SetText(tbCopy.Text);
7 }
8 }
9
10 privatevoidbtnPaste_Click(objectsender,RoutedEventArgse)
11 {
12 //判断剪切板是否包括文本字符
13 if(Clipboard.ContainsText())
14 {
15 //获取剪切板
16 tbPaste.Text=Clipboard.GetText();
17 }
18 }
运行结果如图所示。
第一次运行SetText会让用户确认是否允许Silverlight操作剪切板,如果用户点击否会引发Clipboard access is not allowed异常。
下图完成粘贴(Paste)操作。
需要注意的是Silverlight与WPF不同的是,Silverlight仅仅支持Unicode字符类型的剪切板操作,还不能像WPF那像可以对不同的类型的剪切板操作,尽管如此,但是至少是Silverlight技术的一个增强,正是这种不断的进步使更多的理想在Silverlight中变为可能。
希望对大家有用!
相关推荐
银光志Silverlight3.0开发详解与最佳实践,
银光志 silverlight 3.0 书籍源代码银光志 silverlight 3.0 书籍源代码银光志 silverlight 3.0 书籍源代码银光志 silverlight 3.0 书籍源代码银光志 silverlight 3.0 书籍源代码银光志 silverlight 3.0 书籍源代码
银光志 silverlight 3.0 书籍源代码银光志 silverlight 3.0 书籍源代码银光志 silverlight 3.0 书籍源代码银光志 silverlight 3.0 书籍源代码银光志 silverlight 3.0 书籍源代码
银光志 silverlight 3.0 书籍 光盘附加两个实例银光志 silverlight 3.0 书籍 光盘附加两个实例银光志 silverlight 3.0 书籍 光盘附加两个实例
银光志Silverlight3.0开发详解与最佳实践
银光志 silverlight3.0 书中附带的各章源代码
银光志 Silverlight 3.0 开发详解与最佳实践
银光志Silverlight3.0开发详解与最佳实践.pdf 第二部分
银光志Silverlight3.0开发详解与最佳实践(1/3)
银光志Silverlight3.0开发详解与最佳实践.part01.rar silverlight 经典教程
银光志Silverlight3.0开发详解与最佳实践.part2
银光志Silverlight3.0开发详解与最佳实践 1/2
银光志 silverlight3.0 书中附带的各章源代码