SimpleListBox 及 SimpleListBoxItem
清單方塊是一種可捲動清單形式的項目控制項。您可以在 Microsoft Expression Blend 的清單方塊中放置內容,方法是按兩下清單方塊,然後在其中繪製元素 (例如矩形)。此外,也可以用滑鼠右鍵按一下 [物件與時間軸] 下的清單方塊,然後按一下 [新增 SimpleListBoxItem] 將個別項目新增至集合,或按一下 [將 ItemsSource 繫結至資料] 產生某個資料來源中之 SimpleListBoxItem 元素的集合。若將個別的項目新增至集合,您可以按兩下清單方塊,使其成為使用中狀態,然後拖曳項目來改為您想要的順序,以此來重新排列項目。您可以使用清單方塊的 SelectedIndex 屬性來設定要選取的項目。
新增兩個項目之後的 SimpleListBox 控制項的畫板檢視
深入控制項範本
SimpleListBox 控制項範本由下列項目組成:
[格線] 面板:在清單方塊內用來容納多個子項目。Grid 可讓應用程式使用者介面 (UI) 設計師輕鬆地將更多元素新增至範本。
[框線] 元素:此元素有 BorderThickness 屬性,可以透過範本繫結至套用此範本之清單方塊控制項的 BorderThickness 屬性。
ScrollViewer 元素:可讓應用程式的使用者捲動較長的清單。
StackPanel:放在 ScrollViewer 元素內用來排列項目。StackPanel 的 IsItemsHost 屬性設為 True,可將 ScrollViewer 識別為顯示套用此範本之清單方塊控制項項目的元素。您可以將 StackPanel 變更為其他面板元素,方法是用滑鼠右鍵按一下 [物件與時間軸] 下的 StackPanel 元素,然後將 [變更版面配置類型] 選為不同面板,例如 UniformGrid。
SimpleListBoxItem 控制項範本由下列項目組成:
[格線] 面板:在清單方塊項目內用來容納多個子項目。同時,它還可讓設計師輕鬆地將更多的元素新增至範本。
[框線] 元素:此元素有 BorderThickness 屬性,可以透過範本繫結至套用此範本之按鈕控制項的 BorderThickness 屬性。
ContentPresenter 元素:位於 Grid 元素內,且會自動繫結至套用此範本之項目集合控制項的 Content 屬性。
物件檢視:SimpleListBox 控制項 (左) 和 SimpleListBoxItem 控制項 (右) 的基本部分 (範本)
回到頁首
使用屬性觸發程序
控制項範本中的屬性觸發程序,可讓控制項回應屬性變更。您可以在 [互動] 面板中,按一下 [觸發程序] 底下的項目,檢視觸發程序啟動時變更的屬性。例如,在清單方塊的範本中,當清單方塊項目的 IsSelected 屬性為 True 時,就會變更項目的背景色彩。在清單方塊項目的範本中,當 IsHighlighted 屬性為 True 時,會變更框線元素的 Background 屬性,以突顯清單方塊中選取的項目。
回到頁首
使用筆刷
SimpleListBox 及 SimpleListBoxItem 範本會使用 SimpleStyles.xaml 資源字典中的下列筆刷資源:
當沒有任何作用中的觸發程序時,Background 屬性是使用 WindowBackgroundBrush 來設定,而當 IsEnabled 為 False 時,則是使用 DisabledBackgroundBrush 來設定。
當沒有任何作用中的觸發程序時,BorderBrush 屬性是使用 SolidBorderBrush 來設定,而當 IsEnabled 為 False 時,則是使用 DisabledBorderBrush 來設定。
若將使用 SimpleListBoxItem 範本的項目填入 SimpleListBox 中,則當選取項目時,項目的 Background 屬性是使用 SelectedBackgroundBrush 來設定,若 IsEnabled 為 False,則 Foreground 屬性是使用 DisabledForegroundBrush 來設定。
回到頁首