三種模式的資料繫結。
1.OneTime:一次綁定,在綁定建立時使用來源資料更新目標,適用於只顯示資料而不進行資料的更新。
2.OneWay:單向綁定,在綁定建立時或者來源資料發生變化時更新到目標,適用於顯示變化的資料。
3.TwoWay:雙向繫結,在任何時候都可以同時更新來源資料和目標。
綁定的文法可以用大括弧表示,下面是幾個例子:
< TextBlock Text="{Binding Age}" />
等同於:
< TextBlock Text="{Binding Path=Age}" />
或者顯式寫出綁定方向:
< TextBlock Text="{Binding Path=Age, Mode=OneWay}" />
按照資料繫結的語義,預設是 OneWa y 的,也就是說如果背景資料發生變化,前台建立了綁定關係的相關控制項也應該發生更新。
一個小例子,通過slider的值來控制矩形控制項圖形的寬度
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="*" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<!--這個是綁定的資源,它的值的變化會引起下面的矩形的變化-->
<Slider Name="slider"
Value="90"
Grid.Row="0"
Maximum="180"
Margin="24" />
<TextBlock Name="txtblk"
Text="{Binding ElementName=slider, Path=Value}"
Grid.Row="1"
FontSize="48"
HorizontalAlignment="Center"
VerticalAlignment="Center" />
<Rectangle Grid.Row="2"
Width="{Binding ElementName=slider, Path=Value}"
RenderTransformOrigin="0.5 0.5"
Fill="Blue">
<Rectangle.RenderTransform>
<RotateTransform x:Name="rotate"
Angle="90" />
</Rectangle.RenderTransform>
</Rectangle>
</Grid>