您的位置:首页 > 其它

Windows Presentation Foundation(WPF)中的数据绑定(控件与控件值的绑定)

2007-08-21 14:51 651 查看
--------------------------------------------------------------------------------
引用或转载时请保留以下信息:
大可山 [MSN:a3news(AT)hotmail.com]
http://www.zpxp.com http://www.brawdraw.com
萝卜鼠在线图形图像处理
--------------------------------------------------------------------------------

WPF支持以下几种绑定:
(1)控件到控件的绑定
(2)XML数据的绑定(含内联XML数据和外部XML文件数据)
(3).Net对象的数据绑定
(4)DataSet,DataTable等数据绑定
下面几篇中陆续说明这几种数据绑定的情况,希望对学习WPF的你有所裨益。

1. 控件到控件的绑定
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" >
  <Canvas x:Name="LayoutRoot"> 
       <TextBox x:Name="txtBoxInput" Text="这里输入文字,下面的文字会跟着变!" Width="404"/>
      <TextBlock  x:Name="txtBlockOutput" Width="404" Canvas.Top="23.687">
        <TextBlock.Text>
          <Binding ElementName="txtBoxInput" Path="Text" />
        </TextBlock.Text>
      </TextBlock>
   </Canvas>
</Window>

说明:
(1)上面将txtBoxInput输入的文字(Text属性)绑定到了下面的txtBlockOutput的Text属性上。当TextBox中的文字改变时,下面TextBlock显示的文字也跟着改变,实现了数据绑定。
(2)绑定的方法是在TextBlock的Text属性中,使用<Binding ElementName="txtBoxInput" Path="Text" />,这里ElementName属性的值是源控件的名称,Path属性值为源控件的Text属性。

为了使XAML的语法更为简洁明了,可以使用“{Binding ElementName=源对象名称, Path=源对象属性值名称}”的方式:
比如:
<Window
 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
>
 <Canvas x:Name="LayoutRoot">
  <TextBox x:Name="txtBoxInput" Text="这里输入文字,下面的文字会跟着变!" Width="404"/>
  <TextBlock x:Name="txtBlockOutput" Text="{Binding ElementName=txtBoxInput,Path=Text}" Width="404" Canvas.Top="23.687"/>
 </Canvas>
</Window>
我们发现,txtBlockOutput的Text属性用“{}”括了起来,里面有Binding ElementName=xxx,Path=xxx之类的语句。注意属性值与属性值之间使用逗号(,)隔开了。这是XAML的语法。

看一下最后的效果图片:



下一篇来说说使用XMLDataProvider进行数据绑定。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息