Windows 8风格应用开发入门 二十五 数据绑定2013-05-18 王祖康 数据绑定是一种简单方式来显示数据,UI元素与数据对象之间的连接或绑定是允许数据在两者之间 流动的。另外建立了绑定且数据发生变化时,相应的UI元素会自动显示变化。如何将UI元素与 数据进行绑定

从上面图可以知道,每个绑定必须指定一个源和一个目标。其中源对象可以是任何CLR对象,包括目标元素自身和其他UI元素。目标可以是 FrameworkElement的任何DependencyProperty(依赖属性)。数据绑定引擎从Binding对象获取 以下内容:1)源对象和目标对象;2)数据流的方向;3)值转换器;例如:使用C#代码和XAML将TextBox的Foreground属性进行绑定。XAML代码:
<TextBoxx:Name="MyTextBox"Text="Text"Foreground="{Binding Brush1, Mode=OneWay}"/>
C#代码:
MyColors textcolor = new MyColors();
textcolor.Brush1 = new SolidColorBrush(Colors.Red);
MyTextBox.DataContext = textcolor;
绑定是使用 {Binding…}语法在XAML中创建的。源是通过设置TextBox的DataContent属性在代码中设置的。另外数据是会被继承的。若我们在某个父元素上设置数据上下文,那么其子元素将使用同一数据。我们 可以通过设置Binding.Path属性绑定到源对象的某个属性。数据绑定的方向每一个绑 定都包含一个Mode属性,用于确定数据流动的方式和时间。三种类型的绑定:1) OneTime:绑定会在创建时使用源数据更新目标。2)OneWay:绑定会在创建时以及数据发生更 改时使用源数据更新目标(默认模式)。3)TwoWay:绑定会在目标和源中的任一个发生更改时 同时更新目标和源。