--------------------------------------------------------------------------------
引用或轉載時請保留以下資訊:
大可山 [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進行資料繫結。