將物件繫結至資料

透過將資料項目繫結至畫板上的物件,可顯示資料。

資料繫結包含兩個部分:

  • 資料內容 :資料內容會指出用來取得資料的資料來源。資料內容是可繼承的,因此,您可以將資料內容指派給父物件,如此一來,所有子物件都可以存取相同資料。這在將多個物件繫結至相同資料來源的資料時,以及在建立清單/詳細資料設計時很有用。

    如需詳細資訊,請參閱建立清單/詳細資料繫結

  • 屬性繫結 :屬性繫結會指出屬性所繫結的特定資料項目。例如,您可以將 TextBlock 物件的 Text 屬性繫結至資料來源中的字串項目,或可以將 ListBoxItemsSource 屬性繫結至資料來源中的集合。屬性繫結與資料內容可能不存在於相同物件中,但是只要資料內容設定在樹狀目錄較高階層的物件上,就可以使用。

若要建立資料繫結,您可以從 [資料] 面板拖曳資料項目,也可以使用 [屬性] 面板來設定資料來源和屬性繫結,以手動建立資料繫結。

從資料面板拖曳項目以繫結至資料

  1. 在 [資料] 面板中,執行下列一項動作:

    • 按一下 [清單模式] Cc294574.9ad55afc-08ac-4f9a-ab3a-d55d0cf184d3(zh-tw,Expression.40).png 以顯示項目控制項中的資料,例如 ListBoxDataGridTreeViewComboBox 等。[清單模式] 用來建立集合的清單。

    • 按一下 [詳細資料模式] Cc294574.7786ee28-da1d-41b2-93fd-b4caeb75ab98(zh-tw,Expression.40).png 以顯示集合中來自單一記錄的資料,或顯示單一資料項目。

  2. 在 [資料] 面板中,選取一或多個資料項目,然後將您選取的項目拖曳到畫板上。您可以將選取的項目拖曳到畫板上的空白區域或現有物件上。

    Microsoft Expression Blend 會根據您所拖曳的資料類型,判斷應該採取什麼行動。下表列出 Expression Blend 如何解譯資料選取:

    動作 在清單模式時 在詳細資料模式時

    將集合或集合中的項目拖曳到畫板的空白區域。

    ListBox 物件隨即建立以顯示資料 (每列顯示一個記錄)。 ListBoxItemsSource 屬性設為集合的名稱。 DataContext 屬性則會在父版面配置面板中設定。

    如需範例,請參閱建立清單/詳細資料繫結

    物件隨即建立以顯示資料集合之單一記錄的所有選取項目。

    如果您在 [清單模式] 中從相同集合拖曳項目之後執行這個動作,則會自動建立清單/詳細資料關係。

    如需詳細資訊,請參閱建立清單/詳細資料繫結

    如果您先前在 [清單模式] 中沒有建立繫結,則只會顯示集合中第一個記錄的資料。

    將階層式集合或階層式集合中的項目拖曳到畫板的空白區域。

    TreeView 物件隨即建立以顯示資料 (每列顯示一個記錄)。 TreeViewItemsSource 屬性設為集合的名稱。 DataContext 屬性則會在父版面配置面板中設定。

    如需範例,請參閱使用 TreeView 控制項

    物件隨即建立以顯示資料集合之單一記錄的所有選取項目。

    如果您在 [清單模式] 中從相同集合拖曳項目之後執行這個動作,則會自動建立清單/詳細資料關係。

    如需詳細資訊,請參閱建立清單/詳細資料繫結

    如果您先前在 [清單模式] 中沒有建立繫結,則只會顯示集合中第一個記錄的資料。

    將集合或集合中的項目拖曳到現有的項目控制項上,例如 ListBoxDataGridTreeViewComboBox 等。

    項目控制項會顯示資料 (每列顯示一個記錄)。項目控制項的 ItemsSource 屬性設為集合的名稱。 DataContext 屬性則會在父版面配置面板中設定。

    如需範例,請參閱使用 DataGrid 控制項

    物件隨即建立以顯示資料集合之單一記錄的所有選取項目。

    如果您在 [清單模式] 中從相同集合拖曳項目之後執行這個動作,則會自動建立清單/詳細資料關係。

    如需詳細資訊,請參閱建立清單/詳細資料繫結

    如果您先前在 [清單模式] 中沒有建立繫結,則只會顯示集合中第一個記錄的資料。

    將不在集合中的單一資料項目拖曳到畫板的空白區域。

    隨即建立物件以顯示資料。例如,如果資料是字串或數字,則會建立 TextBlock 。如果資料是布林值,則會建立 CheckBox 。如果資料是影像檔的路徑,則該影像會顯示在 Image 物件中。

    與 [清單模式] 相同。

    將不在集合中的單一資料項目拖曳到現有物件上。

    Expression Blend 會嘗試判斷資料應該繫結到物件的哪一個屬性。例如,如果資料是字串或數字,它會繫結到 ContentText 屬性。如果資料是布林值,則會繫結到 IsEnabledIsChecked 或其他布林屬性。如果資料是影像檔的路徑,則該資料會繫結到 Source 屬性。

    如果沒有適當的屬性可以繫結,則會出現 [建立資料繫結] 對話方塊。在 [建立資料繫結] 對話方塊的 [屬性] 下拉式清單中,您可選擇資料要繫結的屬性。例如,如果資料是代表色彩之十六進位值的字串,您可以按住 SHIFT 並拖曳資料項目到文件的根物件上,並選取 [建立資料繫結] 對話方塊中的 [Background] 屬性以變更文件的背景色彩。

    與 [清單模式] 相同。

使用屬性面板來繫結資料

  1. 在 [物件與時間軸] 面板中,選取要在其中顯示資料的物件,或要繫結資料的物件,或在樹狀目錄中選取較高階層的物件,例如父版面配置面板。

    這裡將是您設定資料內容的地方。

    tip note秘訣:

    此外,您還可以在 [物件與時間軸] 面板中的物件上按一下滑鼠右鍵。如果元素是內容控制項,請選取 [將 Content 的資料繫結到資料]。如果元素是項目控制項,請選取 [將 ItemsSource 的資料繫結到資料]。如果您按照此提示操作,請跳至步驟 3 繼續。

  2. 在 [屬性] 面板中的 DataContext 屬性旁邊,按一下 [進階選項] Cc294574.12e06962-5d8a-480d-a837-e06b84c545bb(zh-tw,Expression.40).png,然後按一下 [資料繫結]。

  3. 在 [建立資料繫結] 對話方塊中,按一下 [資料欄位] 索引標籤。

  4. 在 [資料來源] 下,選取要繫結資料的資料來源。

  5. 請按一下 [確定] 關閉 [建立資料繫結] 對話方塊。

    現在,您可以將這個物件或任何子物件的屬性繫結到所選資料來源中的資料項目。

  6. 選取您要在其中顯示資料的物件或要繫結資料的物件。

  7. 在 [屬性] 面板中找出要繫結至資料的屬性。請確定屬性類型與要繫結之資料項目的類型相容。例如,若要繫結集合中的資料項目,請選取 ItemsSource 屬性 (可在 ListBoxDataGridTreeViewComboBox 等項目控制項中使用)。若要繫結到字串或數字資料項目,請選取字串屬性。

  8. 在屬性旁邊,按一下 [進階選項] Cc294574.12e06962-5d8a-480d-a837-e06b84c545bb(zh-tw,Expression.40).png,然後按一下 [資料繫結]。

  9. 在 [建立資料繫結] 對話方塊中,按一下 [明確資料內容] 索引標籤。

  10. 在 [欄位] 下,選取要繫結屬性的資料項目。

    tip note秘訣:

    只有相容的資料項目會顯示出來。若要顯示所有項目,請在 [顯示] 下拉式清單中選取 [所有屬性]。

  11. 視需要設定 [建立資料繫結] 對話方塊中的其他欄位。例如,如果資料類型不符合屬性類型,您可能必須選取值轉換器。Expression Blend 會嘗試轉換資料,但是如果無法執行轉換,將不會顯示該資料。在這種情況下,您必須建立值轉換器並在 [建立資料繫結] 對話方塊中選取它。

    如需詳細資訊,請參閱試試看:將資料從某種類型轉換成另一種類型

  12. 請按一下 [確定] 關閉 [建立資料繫結] 對話方塊。

  13. 如果您使用的是範例資料,該資料會顯示在畫板上。如果您使用的是即時資料,按下 F5 可檢視資料。

    tip note秘訣:

    您可以將相同資料繫結至一個以上的物件。您也可以設定清單/詳細資料設計,其中有一個物件會更新以便顯示清單中所選項目的詳細資料。

    如需詳細資訊,請參閱建立清單/詳細資料繫結

另請參閱

工作

從範例資料切換到即時資料
建立清單/詳細資料繫結

概念

指定顯示資料之控制項的樣式

Copyright © 2011 by Microsoft Corporation. All rights reserved.