你应该知道的,那些未在Silverlight5Beta中出现的特性

距离Silverlight5(beta)华丽丽的亮相已经有一段日子了,园子里也有同道陆续放出了beta版中新玩意的体验和介绍,比如乱世经典的这些文章,估计大家早也已经对beta版sl5带来的新特性了然于胸了。

而这篇文章的目的则是要向大家介绍一下那些没有赶上beta版末班车却又让我们“魂牵梦绕”的sl5新特性。废话少说,且听我一一道来。

  • DataContextChanged事件

顾名思义,当DataContext发生变化时将会触发该事件。现在sl的fans不用再羡慕wpf的这个事件了吧。不过话说回来,其实sl的FrameworkElement本来是提供了这个事件的,不过因为被标记为internal而一直无法使用。

来看一下示例代码:

this.DataContextChanged += View_DataContextChanged;
void View_DataContextChanged(object sender, 
                  DependencyPropertyChangedEventArgs e) {
    INotifyPropertyChanged customer;
    customer = e.OldValue as INotifyPropertyChanged;
    if (customer != null)
        customer.PropertyChanged -= customer_PropertyChanged;

    customer = e.NewValue as INotifyPropertyChanged;
    if (customer != null)
        customer.PropertyChanged += customer_PropertyChanged;
}

DependencyPrpertyChangedEventArges有三个属性NewValue、OldValue及Property。利用这个事件我们更好处理引用提高内存使用效率。

 

  • UpdateSourceTrigger新增了对PropertyChanged的支持

这个很有意义啊,人家WPF早就有这玩意而且在TextBox控件上是默认的UpdateSourceTrigger,而之前的sl就像个后娘养的…现在好了,做双向绑定的时候可以不再郁闷了。

  • 增强了文字清晰度

在之前的版本中,文字的清晰度一直备受怨念。不过微软说sl5中会提高文本与像素图像捕捉并为小型的阅读设备提供更好的体验。官方ppt中提供了下面这几张老图(当年介绍wpf4时候用过的),这是否代表我们暂且可以认为sl5最起码会做到wpf4的程度?

你应该知道的,那些未在Silverlight5Beta中出现的特性_第1张图片

image

image

  • 矢量打印

如果让诸位用一个流行的词形容当前sl的打印功能,你们会想到什么?没错,就是“坑爹”。我们都知道,当前sl打印是基于bitmap(位图)的,而位图打印的两大缺陷则分别为占地面积大和缩放会照成很大损失。让我们看一些位图和矢量图的性能、容量、缩放清晰度对比

你应该知道的,那些未在Silverlight5Beta中出现的特性_第2张图片

你应该知道的,那些未在Silverlight5Beta中出现的特性_第3张图片

你应该知道的,那些未在Silverlight5Beta中出现的特性_第4张图片

好吧,我想你懂的,这就是为什么矢量打印在sl5的wishlist中占据那么高的位置的原因。

  • Trick Play

这个东西我不大清楚,还望对媒体播放及TrickPlay有所了解的兄弟解惑。

 

暂时就这些吧,Silverlight5正式版将在2011年下半年登场,不过上文中提到的这些新特性会提前出现在Silverlight5的RC版中也是说不定的事哦~

你可能感兴趣的:(你应该知道的,那些未在Silverlight5Beta中出现的特性)