CLR类型对象包括.NET Framework自带类型对象和用户自定义类型对象。把单个CLR类型对象指定为Binding的Source,方法有两种——把对象赋值给Binding.Source属性或者把对象的Name赋值给Binding.ElementName。
1.对象赋值给Binding.Source属性:详见Binding的简单理解_Zenki--的博客-CSDN博客
2.把对象的Name赋值给Binding.ElementName以及Binding标记扩展语法:
为了让UI元素间产生联动,可以让一个控件作为源,另一个控件作为目标,在它们之间建立关联。下面代码实现了一个Slider作为源,一个TextBox作为目标,把Slider的Value属性和TextBox的Text属性进行关联。
<StackPanel>
<TextBox x:Name="textBox" Text="{Binding Path=Value,ElementName=slider}" BorderBrush="Black" Margin="5"/>
<Slider x:Name="slider" Maximum="100" Minimum="0" Margin="5"/>
</StackPanel>
Text="{Binding Path=Value,ElementName=slider}这条代码使用了拓展标记语法,它等同于
this.textBox.SetBinding(TextBox.TextProperty,new Binding("Value") { ElementName="slider" })
因为Binding类的构造器本身可以接受Path作为参数,所以也可以省略Path关键字写成
<TextBox x:Name="textBox" Text="{Binding Value,ElementName=slider}" BorderBrush="Black" Margin="5"/>