最單純的繫結,是將一個特定的值,繫結至控制項的某個特定的屬性,最典型的例如 TextBox 的 Text 屬性,要完成這種繫結,只要建立 Binding 類別的物件實體,然後指定其相關的資料來源屬性與繫結模式即可,我們透過一個範例作說明。底下是這個範例的執行內容,其中的 TextBlock 將指定的字串,透過繫結顯示出來。
這個範例示範最簡單的資料繫結設定,來看看它的實作步驟。
步驟 1.
建立一個Silverlight專案,於其中配置一個 TextBlock 控制項,設定其名稱為 BindTextBlock 。
步驟 2.
切換至後置程式碼檔案,於其中UserControl的載入事件中,輸入底下的程式碼:
…
using System.Windows.Data;
private void UserControl_Loaded(object sender, RoutedEventArgs e)
{
string bindingString = "康廷數位 - Silverlight 2.0 教學";
Binding myBinding = new Binding("");
myBinding.Mode = BindingMode.OneTime;
myBinding.Source = bindingString;
BindTextBlock.SetBinding(TextBlock.TextProperty, myBinding);
}
這段程式碼運用 Binding 物件完成資料繫結的功能設定,由於 Binding 類別位於 System.Windows.Data命名空間,因此要讓這段程式碼正常運作,還必須先引用此命名空間。
接下來建立一個 Binding 物件,分別指定其 Mode 以及 Source 屬性。
Mode 屬性是一個 BindingMode 型態列舉值,代表前述的繫結模式,可能的值為 OneTime、OneWay以 及TwoWay 。 Source 代表所要繫結的資料物件,這裏將一個字串物件bindingString指定給它。
最後,引用畫面上 TextBlock 控制項 BindTextBlock 的 SetBinding 方法完成資料的繫結設定,其中第一個參數為所要繫結的控制項屬性,第二個參數則是上述設定的 Binding 物件,如此一來, myBinding 會將其 Source 屬性的內容,繫結至 BindTextBlock ,並且以指定的 OneTime 為繫結模式。
SetBinding 是一種方法,以下為此方法的定義:
public BindingExpressionBase SetBinding(
DependencyProperty dp,
Binding binding
)
dp為控制項所要設定的FrameworkElement依存屬性,binding則是預先設計好的Binding物件。
沒有留言:
張貼留言