详解Silverlight4中的数据绑定

本文将为大家介绍Silverlight 4中的数据绑定,希望能对大家有所帮助。同时向您推荐《走向银光 —— 一步一步学Silverlight》专题。

DependencyObject Binding

在Silverlight之前的版本中,其支持的元素绑定只是允许绑定继承自FrameworkElement类下元素,但是比如一些形变比如Transformations就不能绑定了。现在数据绑定也可以绑定继承自DependencyObject下的任何元素。

 
 
 
 
  1.  
  2.  Background="White">  
  3.   
  4.    
  5.    
  6.   ScaleX="{Binding Value,ElementName=stretcher}" 
  7.   ScaleY="{Binding Value,ElementName=stretcher}" />  
  8.    
  9.     
  10.    
  11.    
  12.    
  13.   
  14.     
  15.  
  16.    Maximum="4" 
  17.     x:Name="stretcher" 
  18.    Value="1" VerticalAlignment="Top" />  
  19.   

String Formatting

新版的Silverlight4中新增加了格式化字符串的能力。在这之前如果要做一个数据格式化不得不使用一个Converter来格式化字符串。现在可以使用扩展标记StringFormat来做一些比如日期、货币等的格式化。

在VS2010中也提供了可视化的支持。

 
 
 
 
  1.   
  2.  Mode=TwoWay}"   
  3.   Margin="0,30,0,0"  
  4.    Height="26"  
  5.     VerticalAlignment="Top" d:LayoutOverrides="Height" />  
  6.  Margin="0,0,0,0"  
  7.   Height="26" VerticalAlignment="Top" />  
  8.  

Null and Fallback Values

在某些特殊的情况下,数据有可能加载失败。数据绑定中有新增加了两个宽展标记TargetNullValue、FallbackValue,TargetNullValue这个标记表示了当绑定值是null的时候显示的值。FallbackValue则是在数据未绑定时显示的值。

    
 
 
 
  1.   
  2.   TargetNullValue='(暂无)'}"   
  3.        Height="26" Margin="0,100,0,0"  
  4.       VerticalAlignment="Top" d:LayoutOverrides="Height" />  
  5.   
  6.   FallbackValue='(暂无)'}" Height="26"  
  7.      VerticalAlignment="Top" Margin="0,33,0,0" />  
  8.  

 
CollectionViewSource Changes 对于在GataGrid中做分组管理,现在的
CollectionViewSource支持数据到
GroupDescriptions的绑定,这样可以更加轻松的在XAML做分组。

 
 
 
 
  1.   
  2.  Source="{Binding}">  
  3.      
  4.        
  5.       
  6.     
  7.     
  8.                       
  9.       
  10.      
  11.    
  12.   
  13.     
  14.   
 
 
 
 
  1. public List GetPeople()        
  2. {            List peeps = new List();
  3.  peeps.Add(new Person() { FirstName = "Wang", LastName = "Zhe", Gender = "M", AgeGroup = "Adult" });
  4.  peeps.Add(new Person() { FirstName = "nasa", LastName = "wang", Gender = "M", AgeGroup = "Adult" });
  5.  peeps.Add(new Person() { FirstName = "summer", LastName = "liang", Gender = "F", AgeGroup = "Kid" });
  6.  peeps.Add(new Person() { FirstName = "liang", LastName = "jing", Gender = "F", AgeGroup = "Kid" });
  7.     return peeps;
  8.         }

Error Propogation

Silverlight的数据验证机制,在这里得到了很多的扩充,提供了IDataErrorInfoINotifyDataErrorInfo从而能得到更多的信息。

链接:http://www.cnblogs.com/nasa/archive/2010/04/19/Data_Binding_Changes_in_Silverlight_4.html

责任编辑:彭凡
来源: 博客园 Silverlight 4

网站题目:详解Silverlight4中的数据绑定
URL分享:http://www.shufengxianlan.com/qtweb/news18/385968.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联