随笔分类 - Silverlight 5 beta新特性系列
本系列文章关注于Silverlight5 beta版得新特性的研究和实例探索。
摘要:
在Silverlight中新增了对OpenType字体属性的支持,它主要通过Typography类的相关属性来控制。下面我们来看看它增加了哪些属性。
注意:必须使用系统的OpenType字体才行,所以FontFamily="Gabriola"。
一、连笔字
在"ft"之间相连起来,如下图绿色框内所示主要通过 Typography.StandardLigatures的True或者False来决定是否连笔:
阅读全文

摘要:
在Silverlight 5 RC版本中对字体呈现做出了比较大的优化,它现在新增了一个类TextOptions,其内部有三个依赖属性TextFormattingMode、TextHintingMode、TextRenderingMode。对字体的呈现模式进行了定义。
1.TextFormattingMode
它有两种格式化模式,是对字体的格式化进行设置
1.1 Display:它使用度量来格式化字体和符号,会让字体显示得更加清晰,
1.2 Ideal:它是老的模式,相对没有那么清晰
2.TextHintingMode
它有两种微调模式,是对字体的渲染模式设置是否关闭
2.1 Fixed:默认的模式,采用渲染模式
2.2
阅读全文

摘要:
Silverlight 5 的RC版本已经出来了,本文将讲解RC版本中一个非常实用的小功能,SaveFileDialog保存文件指定默认名称和OpenFileDialog打开文件指定默认路径。本文使用 Silverlight实用窍门系列:50.InkPresenter涂鸦板的基本使用,以及将效果保存为Png图片的源码实例。
一、SaveFileDialog保存文件指定默认名称
在SaveFileDialog类中新增了一个属性DefaultFileName即可指定想要保存的文件的默认名称。下面请看代码如下:
阅读全文

摘要:
在最近的几个月内整理出了Silverlight的一些相关的比较实用的功能讲解文章,并且随着Silverlight 5 beta版本的发布整理出的新特性系列文章,在这里做一个总的概括和索引,以方便大家观看。
Silverlight 5 beta新特性探索系列
内容简介:Silverlight 5 beta新特性探索系列是在Silverlight 5 beta版出现之后第一时间内写出的一个探索新特性的文章,对于绝大部分Silverlight 5 beta的新特性都在此系列文章中有所讲解。
适用于广大Silverlight爱好者或者即将采用Silverlight 5启动新项目的项目开发人员。每篇文章都有实例源码下载运行。
阅读全文

摘要:
在Silverlight 5 beta版本中,已经支持浏览器模式(in-browser)模式下使用WebBrowser控件访问网页和在浏览器模式下创建txt文本文件。当然想要获得这个功能有三个条件在注册表内添加一个新的键、设置XAP签名(如果是在本地http://localhost:做测试时可以不需要这两个条件)和提升信任级别。
第一、在注册表内添加一个新的键AllowElevatedTrustAppsInBrowser
其名为AllowElevatedTrustAppsInBrowser,DWORD类型,值为1。设置Silverlight允许访问一些本地资源。第一、在注册表内添加一个新的键AllowElevatedTrustAppsInBrowser
其名为AllowElevatedTrustAppsInBrowser,D
阅读全文

摘要:
本节讲诉两个新特性:一、在Silverlight 5中可以控制MediaElement对象播放的视频进行快进快退控制。二、在Silverlight 5中的文字项进行搜索查询。
一、对于MediaElement媒体播放对象的视频进行快退快进控制
它是通过MediaElement.PlaybackRate属性进行控制的。当前此属性只支持-8.0、-4.0、0.5、1.0、2.0、4.0、8.0七个参数,也就是快退8倍速、快退4倍速、慢放0.5倍速、正常速度、快进2倍速、快进4倍速、快进8倍速。现在我们看本实例中的MediaElement对象控制源码如下:
二、TextSearch对象对文字项查询
它是在Silverlight 5中新增的一个类TextSearch,在所有的具有Item属性的文
阅读全文

摘要:
在Silverlight 5中新增了自定义扩展标记,它通过继承于 MarkupExtension 类,重载该类中的ProvideValue方法以判断得到相应的返回值,以设置被绑定控件的属性。
下面我们通过一个最为简单的实例来理解自定义扩展标记是如何工作的。
第一步:新建一个UserMarkExtension.cs类,注意UserMark(扩展标记名)+Extension.cs(固定的后缀)=UserMarkExtension.cs
第二步:设置3个可被访问的属性标签LBText,LBWidth,RcRadius
第三步:重载PrivideValue函数,设置返回的属性值,
三个步骤的UserMarkExtension.cs类代码如下:
第四步:为需
阅读全文

摘要:
在Silverlight 5中添加了相对上层元素属性的绑定,还有Style Setter也可以绑定数据。
一、相对上层元素属性的绑定
它是在元素内部的子孙级元素中的某一些属性可以绑定为祖先级元素的某一些属性。比如说再一个ListBox的Tag元素值为:“这是第一个父级绑定”,在ListBox.Templete下面添加一个TextBlock元素的Text属性设置为 ,这样子当ListBox有数据集合的时候显示的数据行就是值“这是第一个父级绑定”。
下面我们来看完整的XAML源码(MainPage.xaml):
阅读全文

摘要:
在Silverlight 5中新增了一个SoundEffect类和SoundEffectInstance类用以加载wav格式的音乐,这样可以很及时的为动画添加音效。
现在我们看如何使用这两个类来控制播放wav音乐,首先引入mav音乐格式的文件(音频采样大小必须为16或者8位不能是24位,采用PCM编码,22.5, 44.1 or 48khz的采样率)如下图属性:
其次将引入的wav格式音乐文件在项目中右键点击其属性设置其“生成操作”为“内容”,如下图所示:现在我们准备XAML代码以控制SoundEffectInstance类的属性,调节音乐播放效果:
阅读全文

摘要:
在Silverlight 5中新增了鼠标双击和多重点击的实现,当然在这里包括鼠标左键和鼠标右键的双击,多重点击。在Silverlight 5的MouseButtonEventArgs类中新增了一个属性名为ClickCount:获取到触发事件源在单位时间内被点击的次数(注意:单位时间是由操作系统的"控制面板"--"鼠标"--"双击速度"设置的)。
下面我们来看一个实例以判断是否双击还是多重点击,首先我们看实例的XAML代码:
一、我们来看鼠标左键的双击(三重点击类似)判断如下:当双击鼠标左键时得到的效果图如下: 二、在某一些情况下我们需要判断鼠标右键是否双击或者三击的情况,那么我们敲入以下代码即可:
阅读全文

摘要:
在Silverlight 5中新增了CharacterSpacing属性对文字间距进行控制,增加了RichTextBoxOverflow控件以灵活的对大量文字进行合理的排版显示。
一、CharacterSpacing属性
在Silverlight原来的版本中文字和文字之间并没有一个间距控制属性,这让某一些特殊的文字显示场合排版不易(比如杂志,电子报),在Silverlight 5中引入的CharacterSpacing属性就可以很好处理文字间距,它可用做TextBlock,RichTextBox,Label等文字控件,其具体文字间隔像素计算公式如下:字体大小*CharacterSpacing值/1000=字符间距像素值。比如:10号的字体,CharacterSpacing设置为500那么字符之间的间距=10*500/100
阅读全文

摘要:
在Silverlight之前的版本中都不能在XAML代码中设置断点以跟踪调试的,在Silverlight 5 beta版中我们将能够为Binding数据的XAML代码设置断点以跟踪调试相应的数据绑定过程。
首先我们新建一个Silverlight 5应用程序,然后准备后台数据代码如下以绑定一个DataGrid控件。
一、现在我们首先开始设置XAML断点如下图所示:
二、运行程序将在设置断点的Xaml代码位置停止,并且我们在下方“局部变量”窗口中可以看到当前的"BindingState"(绑定状态信息)如下图
阅读全文

摘要:
Silverlight 5 beta版本总算于昨日放出,怀着激动的心情今天将开发环境更新为Silverlight 5 beta版本,并且接触Silverlight 5 beta的第一个新特性:OOB模式下的多窗口的弹出显示。
现在我们开始Silverlight 5 Beta版本的安装,首先需要为VS2010打一个VS2010 SP1补丁,然后我们再下载Silverlight 5 Beta Tools for Visual Studio SP1,一步一步安装完毕,最后我们下载Silverlight 5 Features Document 新特性的文档。至此我们即可踏上Silverlight 5开发的征程。
对于Silverlight 5 beta版本下面的新窗口的支持是基于OOB模式下的,所以我们首先新建一个Silverlight 5
阅读全文
