深入浅出WPF之Binding的使用(二)
from: ?? http://www.cnblogs.com/akwwl/p/3421250.html
在上一篇中介紹了Binding的基本綁定方法,這一篇中我們?cè)谏钊氲慕榻BBinding的其他用法。
Binding的源也就是數(shù)據(jù)的源頭,在日常的工作中,除了使用像上一篇中的Student對(duì)象作為數(shù)據(jù)源外,我們還有更多的選擇,比如控件把自己或者自己的容器或子級(jí)元素當(dāng)做源,用一個(gè)控件作為另一個(gè)控件的數(shù)據(jù)源等等。
把控件作為Binding源。
<Grid><TextBox x:Name="Box" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="100,50,0,0" Height="30" Width="200" Text="{Binding Path=Value,ElementName=Silder1,Mode=TwoWay}"/> <Slider x:Name="Silder1" HorizontalAlignment="Left" Margin="100,120,0,0" Maximum="100" Minimum="0" VerticalAlignment="Top" Width="200"/></Grid>其中Text="{Binding Path=Value,ElementName=Silder1,Mode=TwoWay}"等價(jià)于C#代碼:
this.Box.SetBinding(TextBox.TextProperty, new Binding("Value") { Source=Silder1});
或?Binding binding = new Binding() { Path = new PropertyPath("Value"), Source = Silder1 };
?this.Box.SetBinding(TextBox.TextProperty,binding);
Binding還支持多級(jí)路徑(通俗地將就是一路“點(diǎn)”下去)。比如,如果想讓一個(gè)TextBox顯示另外一個(gè)TextBox的文本長(zhǎng)度,我們可以這么寫:
<Grid><TextBox x:Name="Box" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="100,50,0,0" Height="30" Width="200" /> <TextBox x:Name="Box2" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="100,123,0,0" Height="30" Width="200" Text="{Binding Path=Text.Length,ElementName= Box,Mode=OneWay}" /></Grid>等于C#代碼如下:
Binding binding = new Binding("Text.Length") { Source=Box,Mode=BindingMode.OneWay};
this.Box2.SetBinding(TextBox.TextProperty,binding);
?
總結(jié)
以上是生活随笔為你收集整理的深入浅出WPF之Binding的使用(二)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: memcpy,strcpy,strncp
- 下一篇: VS2010 教程:创建一个 WPF 应