Silverlight 的資料繫結物件 - Binding

在你開始建立繫結之前,首先必須確認資料來源,它可以是個包含資料的單一物件,或是物件集合,我們將逐一來看相關的設定,這裏先從最簡單的繫結物件Binding開始,它用來定義連結目標元素以及資料來源之間所需的繫結設定。

最單純的繫結,是將一個特定的值,繫結至控制項的某個特定的屬性,最典型的例如 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物件。

沒有留言: