最近在学习WPF,其中的精髓就是Binding,下面的码字仅记录下供自己加深理解。
其中,xaml的语法就先不说了。先举一个简单的例子,说明下,如何做一个简单的Binding.
<Window x:Class="WpfApplication1.Window"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="120" Width="300" Background="SteelBlue">
<Grid>
<TextBox Height ="23" Margin="10,5,9,0" Name="textBox1" VerticalAlignment="Top" Text="{Binding ElementName=slider1, Path=Value}"></TextBox>
<TextBox Height ="23" Margin="10,32,9,0" Name="textBox2" VerticalAlignment="Top"></TextBox>
<Slider Height="21" Margin="10,60,9,0" Name="slider1" VerticalAlignment="Top" Maximum="100"></Slider>
</Grid>
</Window>
这个效果就是,拖动Slider1时,Textbox1上会显示从0~100之间的一个浮点数。如果在textbox1中输入一个0~100之间的数,鼠标点击下textbox2,则slider1上的滑块会跳到textbox1数值的相应位置上。
这个的关键点就在于这样一句话,
Text="{Binding ElementName=slider1, Path=Value}"
这句话的含义是,textbox1的Text属性与slider1的Value绑定了,当slider1的Value变化时,textbox1的Text就要发生变化。
简单一句话就能够使不同的元素之间产生关联,原因就在于Binding。
有关于Binding 的关键概念:
1.数据源(Source):是保有数据的实体,是数据的来源和源头。
2.路径(Path):一个数据源可能有很多个数据,Path指定了所关注的数据源的特定的数值,如上例中,就只关注了slider1的Value属性,因此把Path设置成Value.
3.目标(Target):数据传送的目标,本例中就是textbox1.
4.关联(Binding绑定):建立数据源与目标的通道。使得Source和Target之间关联起来。
5.设定关联:为Target指定关联(Binding),将Binding指向Target的一个属性。