所谓的标记扩展,实际上是一种特殊的Attribute=value语法,其特殊的地方在于Value字符串是由一对花括号及其括起来的内容组成,XAML编译器会对这样的内容作出解析、生成相应的对象。
例如:当Slider的滑块滑动时TextBox就会显示Slider当前的值。
<Window x:Class="Chapter3.Page24.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<StackPanel>
<TextBox Text="{Binding ElementName=sl,Path=Value,Mode=TwoWay}" Margin="5"/>
<Slider x:Name="sl" Margin="5"/>
</StackPanel>
</Window>
这里的
Text="{Binding ElementName=sl,Path=Value,Mode=TwoWay}"
就是标记扩展。
分析这段代码: