Binding:一个完整的Binding过程是让源对象中的某个属性值通过一定流向规则进行转换和验证之后绑定到目标对象的某个属性上。这个源对象有ElementName指定,源对象的属性由Path指定,流向规则由Mode指定,转换由Converter指定,验证由ValidatesOnDataErrors等指定。
Binding的属性如下:
ElementName:指定源对象的名称
Path:指定需要绑定的源对象的属性名称
Mode:指定Binding的数据流向规则
Converter:指定源对象的属性需要经过用户自定义的转换
silverlight中要使用数据绑定,必须通过绑定表达式来设置目标属性。绑定表达式是有一个标记语言,通常以Binding开头。创建表达式需要指明要绑定的数据源中的属性的名称。例如有一个实体类Product,其有两个属性ProductName和ProductPrice。绑定表达式如下:
<TextBox x:Name="txtProductName" Text="{Binding ProductName}" />
绑定表达式只指明了数据源中属性的名称,但它并不知道数据源。可以通过两种方式设置数据源:通过设置元素的DataContext属性或者设置绑定的Source属性。大多数情况下,最实用的方法是设置元素的DataContext属性。在上边例子中你可以设置每一个文本框的DataContext属性。但是,还有更简单的方法。如果一个元素用了绑定表达式但它的DataContext属性为空,这个元素将会往它的上级寻找,直到找到一个数据源。因此在上边例子中可以直接设置Grid的DataContext属性,所有的TextBox也将用相同的数据源。