元素绑定
数据绑定最简单的形式是源对象是WPF元素而且源属性是依赖项属性。依赖项属性具有内置的更改通知支持。因此当源对象中改变依赖属性的值时,会立即更新目标对象中的绑定属性。
绑定表达式
当使用绑定表达式时,不必对源对象做任何改动,只需配置源对象使其属性具有正确的值范围。
<Slider Grid.Row="0" Name="sliderFontSize" Margin="3" Minimum="1" Maximum="40" Value="10" TickFrequency="1" TickPlacement="TopLeft">
</Slider><TextBlock Grid.Row="1" Margin="10" Text="Simple Text" Name="lblSimpleText"FontSize="{Binding ElementName=sliderFontSize,Path=Value}"> </TextBlock>
绑定错误
WPF不会引发异常来通知与数据绑定相关的问题。如果指定的元素或属性不存在,那么不会收到任何的指示;相反,只是不能在目标属性中显示数据。
调试可通过Visual Studio的OutPut窗口查看,WPF会输出绑定细节的跟踪信息。
绑定模式
| 名称 | 说明 |
| OneWay | 当源属性变化时更新目标属性。 |
| TwoWay | 当源属性变化时更新目标属性,并且当目标属性变化时更新源属性。 |
| OneTime | 最初根据源属性设置目标属性,然而,其后的所有改变都会被忽略。通常如果知道属性不会变化,可通过这种模式降低开销。 |
| OneWayToSource | 与OneWay相反,当目标属性变化时更新源属性。 |
| Default | 此类绑定依赖于目标属性,既可以是双向的,也可以是单向的。除非明确指定了一种绑定模式,否则所有绑定使用该方法 |
使用代码创建绑定
Binding binding = new Binding(); binding.Source = sliderFontSize; binding.Path = new PropertyPath("Value"); binding.Mode = BindingMode.TwoWay; lblSimpleText.SetBinding(TextBlock.FontSizeProperty,binding);
多绑定
可以设置TextBlock元素从文本框中获取文本,从单独的颜色列表中选择当前前景色和背景色,等等。

