引言
WPF框架采取的是MVVM模式,也就是數(shù)據(jù)驅(qū)動UI,UI控件(Controls)被嚴(yán)格地限制在表示層內(nèi),不會參與業(yè)務(wù)邏輯的處理,只是通過數(shù)據(jù)綁定(Data Binding)簡單忠實地表達(dá)與之綁定的數(shù)據(jù)。
本文計劃從數(shù)據(jù)端、控件端各自的實現(xiàn)要求,綁定的過程和中介等角度全面地剖析數(shù)據(jù)綁定的運行機(jī)理,幫助讀者打開數(shù)據(jù)綁定的盒子,看到運作的本質(zhì),使讀者知其然更知其所以然。
一個簡單的例子
最開始提供一個簡單的數(shù)據(jù)綁定例子,各環(huán)節(jié)的功能算是完備,在閱讀隨時可以回來參考例子理理思路。TextBox綁定一個包裝過的字符串,單擊按鈕改變字符串,TextBox應(yīng)當(dāng)相應(yīng)改變,代碼如下。
XAML文件:
<StackPanel> <Button x:Name="b" Content="Change Value" Margin="30" Width="100" Click="b_Click"/> <TextBox x:Name="tb" Width="100"/> </StackPanel>
C#文件: