ListBox 控制項樣式提示
ListBox 控制項代表一組項目集合。填入 ListBox 控制項的方法包括將控制項繫結至資料來源,或是顯示未繫結的項目。ListBox 是一種項目控制項,表示您可以在其中填入內含文字或其他控制項的項目。
如同所有控制項一樣,ListBox 控制項 (以及包含在 ListBox 物件中的每個 ListBoxItem 控制項) 可修改為與其預設外觀非常不同。ListBox 控制項的預設外觀如下:
相關的 ListBox 控制項屬性
您可以在 [屬性] 面板中設定 [一般屬性] 下的 [SelectedIndex] 屬性,以藉此設定在 ListBox 控制項中選取的項目。值 -1 可顯示未選取任何項目的 ListBox 物件。值 0 則可顯示已選定第一個項目的 ListBox 物件。
若要新增項目至 ListBox 控制項,您可以手動新增 ListBoxItem 物件,或將資料集合繫結至 ListBox 物件,使項目自動出現。
ListBox 範本的組件
ListBox 控制項使用一個範本來定義其外觀:ListBox 範本。這個範本的單一組件會影響套用範本之 ListBox 物件的外觀和行為。
秘訣: |
---|
若要設定 ListBox 控制項內含項目的樣式,您必須修改其他範本。例如,當 ListBox 控制項已繫結資料時,控制項會使用產生的項目範本 (資料範本) 來設定內含項目的樣式。當 ListBox 控制項未繫結資料時,控制項不會有用來套用到內含項目的範本;您可以修改項目本身的範本,例如 ListBoxItem 範本。 |
範本中可以有其他用來裝飾 ListBox 控制項外觀的物件,但是下表列出的是在合約中與控制項行為繫結的組件。
若要檢視範本的組件,請在修改範本時開啟 [組件] 面板。在 [物件與時間軸] 面板中,如果物件扮演的角色是 [組件] 面板中的組件,該物件旁會出現 圖示。
組件名稱 |
物件類型 |
描述 |
---|---|---|
ScrollViewer |
ScrollViewer |
此物件可顯示捲動視窗中的項目。 此組件為強制組件。 |
ListBox 範本中的 ScrollViewer 物件可以套用修改過的範本。ScrollViewer 物件的 ScrollBar 物件也可以套用修改過的範本。這會產生具有下示巢狀結構的範本:
ListBox 控制項。此 ListBox 控制項是項目清單的容器,已繫結至資料來源中的項目,或是會顯示個別的未繫結物件。 |
|
ListBox 範本內的 ScrollViewer 控制項。 |
|
ListBox 控制項中的未繫結項目。 |
|
ScrollViewer 範本內的垂直 ScrollBar 控制項。 |
|
ScrollBar 範本內的垂直 Thumb 控制項。 |
|
ScrollBar 範本內的垂直 RepeatButton 控制項,用來以較大的增量減少 ScrollBar 控制項的值。 |
|
ScrollBar 範本內的垂直 RepeatButton 控制項,用來以較小的增量減少 ScrollBar 控制項的值。 |
如需設定 ScrollViewer 和 ScrollBar 物件樣式的詳細資訊,請參閱 ScrollViewer 控制項樣式提示 和 ScrollBar 控制項樣式提示。
ListBox 控制項的狀態
根據預設,ListBox 控制項可以處於 [ValidationStates] 狀態群組的下列三種狀態之一:
狀態名稱 |
描述 |
---|---|
Valid |
ListBox 控制項有效時的外觀。 |
InvalidUnfocused |
ListBox 控制項無效且沒有鍵盤焦點時的外觀。 |
InvalidFocused |
ListBox 控制項無效但具有鍵盤焦點時的外觀。 |
當您選取狀態時,狀態錄製功能便會開啟,以錄製您對該狀態所做的任何變更。若要關閉狀態錄製功能,請按一下畫板上的錄製按鈕 ,或在 [狀態] 面板中選取 [基本]。
將物件轉換成 ListBox 控制項
若要修改 ListBox 控制項的範本,請執行下列一項動作:
在畫板上繪製 [ListBox] 控制項 ,然後再建立預設範本的複本。
如需詳細資訊,請參閱建立或修改範本。
透過繪製物件或匯入圖案然後使用 [變成控制項] 命令的方式,設計 ListBox 控制項的外觀。
如果使用 [變成控制項] 命令,請依照下列步驟,確保您會建立 ListBox 範本需要的所有物件:
將要用來定義 ListBox 控制項外觀的所有物件群組成 Grid 控制項。請包含不是預定要變成範本組件的物件。
選取新的 Grid 控制項,然後在 [工具] 功能表上,按一下 [變成控制項]。
在出現的對話方塊中,選取 [ListBox]、為範本命名,然後選取範本的儲存位置。
如需有關位置的詳細資訊,請參閱建立資源。
在您按一下 [確定] 之後,Microsoft Expression Blend 便會進入範本編輯模式,並顯示組成 ListBox 控制項的物件。您可以在這個模式中繼續修改範本。例如,新增或修改物件,或是選取 [狀態] 面板中的狀態,以修改範本在該狀態時的外觀。
若要建立 ScrollViewer 組件,請在 [組件] 面板中按兩下 [ScrollViewer]。選取新的 [ScrollViewer] 物件,然後在物件內繪製 [ItemsPresenter] 控制項。請使用 [選取] 工具 或 [屬性] 面板中 [版面配置] 下的屬性,在範本內調整這些物件的大小和位置。
請考慮將範本中物件的部分筆刷屬性繫結到最終使用該範本之 ListBox 物件的下列屬性:
Background
BorderBrush
Foreground
BorderThickness
如需詳細資訊,請參閱完成範本的物件屬性。
若要結束範本編輯模式,請按一下畫板頂端階層連結列中的 [ListBox],或按一下 [物件與時間軸] 面板中的 [將範圍傳回] 。
如需將新 ListBox 範本套用至其他 ListBox 物件的詳細資訊,請參閱套用或移除資源。
參照
您可以在 MSDN 的 Silverlight Control Gallery (Silverlight 控制項陳列庫) 中找到有關 Microsoft Silverlight ListBox 控制項之屬性與事件的詳細資訊。