Silverlight - 列表框



列表框是一個控制元件,它為使用者提供一個專案列表,以便使用者選擇一個專案。使用者可以一次從預定義的專案列表中選擇一個或多個專案。在列表框中,多個選項始終可見,無需任何使用者互動。

列表框顯示一個可滾動的專案列表。如果使用者選擇一個專案,所選專案的顯示外觀會發生變化以指示選擇狀態。它支援比按鈕更廣泛的內容模型。按鈕和列表框的主要區別在於,按鈕包含單個內容,而列表框允許列表中的每一個專案。

ListBox 類的層次繼承如下:

Inheritance Listbox

以下是ListBox類常用屬性

序號 屬性及描述
1

Background(背景)

獲取或設定一個畫刷,該畫刷提供控制元件的背景。(繼承自Control)

2

BorderThickness(邊框粗細)

獲取或設定控制元件的邊框粗細。(繼承自Control)

3

FontFamily(字體系列)

獲取或設定用於在控制元件中顯示文字的字型。(繼承自Control)

4

FontSize(字型大小)

獲取或設定此控制元件中文字的大小。(繼承自Control)

5

FontStyle(字型樣式)

獲取或設定呈現文字的樣式。(繼承自Control)

6

FontWeight(字型粗細)

獲取或設定指定字型的粗細。(繼承自Control)

7

Foreground(前景色)

獲取或設定描述前景色顏色的畫刷。(繼承自Control)

8

GroupStyle(分組樣式)

獲取一個GroupStyle物件集合,這些物件定義每一級組的外觀。(繼承自ItemsControl)

9

Height(高度)

獲取或設定FrameworkElement的建議高度。(繼承自FrameworkElement)

10

HorizontalAlignment(水平對齊)

獲取或設定當FrameworkElement在一個佈局父元素(例如面板或專案控制元件)中組合時應用的水平對齊特性。(繼承自FrameworkElement)

11

IsEnabled(啟用)

獲取或設定一個值,該值指示使用者是否可以與控制元件互動。(繼承自Control)

12

Item(專案)

獲取用於生成控制元件內容的集合。(繼承自ItemsControl)

13

ItemsSource(專案源)

獲取或設定用於生成ItemsControl內容的物件源。(繼承自ItemsControl)

14

Margin(邊距)

獲取或設定FrameworkElement的外邊距。(繼承自FrameworkElement)

15

Name(名稱)

獲取或設定物件的標識名稱。當XAML處理器從XAML標記建立物件樹時,執行時程式碼可以透過此名稱引用XAML宣告的物件。(繼承自FrameworkElement)

16

Opacity(不透明度)

獲取或設定物件的透明度。(繼承自UIElement)

17

SelectedIndex(選中索引)

獲取或設定所選專案的索引。(繼承自Selector)

18

SelectedItem(選中項)

獲取或設定所選專案。(繼承自Selector)

19

SelectedValue(選中值)

獲取或設定所選專案的值,透過使用SelectedValuePath獲得。(繼承自Selector)

20

Style(樣式)

獲取或設定在此物件的佈局和呈現期間應用的例項樣式。(繼承自FrameworkElement)

21

VerticalAlignment(垂直對齊)

獲取或設定當FrameworkElement在一個父物件(例如面板或專案控制元件)中組合時應用的垂直對齊特性。(繼承自FrameworkElement)

22

Width(寬度)

獲取或設定FrameworkElement的寬度。(繼承自FrameworkElement)

以下是ListBox最常用的事件

序號 事件及描述
1

DragEnter(拖動進入)

當輸入系統報告一個以該元素為目標的底層拖動事件時發生。(繼承自UIElement)

2

DragLeave(拖動離開)

當輸入系統報告一個以該元素為原點的底層拖動事件時發生。(繼承自UIElement)

3

DragOver(拖動經過)

當輸入系統報告一個以該元素為潛在放置目標的底層拖動事件時發生。(繼承自UIElement)

4

DragStarting(拖動開始)

當啟動拖動操作時發生。(繼承自UIElement)

5

Drop(放置)

當輸入系統報告一個以該元素為放置目標的底層放置事件時發生。(繼承自UIElement)

6

DropCompleted(放置完成)

當拖放操作結束時發生。(繼承自UIElement)

7

GotFocus(獲得焦點)

當UIElement獲得焦點時發生。(繼承自UIElement)

8

IsEnabledChanged(啟用狀態更改)

當IsEnabled屬性更改時發生。(繼承自Control)

9

KeyDown(按鍵按下)

當UIElement擁有焦點時按下鍵盤鍵時發生。(繼承自UIElement)

10

KeyUp(按鍵釋放)

當UIElement擁有焦點時釋放鍵盤鍵時發生。(繼承自UIElement)

11

LostFocus(失去焦點)

當UIElement失去焦點時發生。(繼承自UIElement)

12

SelectionChanged(選擇更改)

當前所選專案更改時發生。(繼承自Selector)

13

SizeChanged(大小更改)

當FrameworkElement上的ActualHeight或ActualWidth屬性的值更改時發生。(繼承自FrameworkElement)

以下是ListBox最常用的方法

序號 方法及描述
1

Arrange(排列)

定位子物件並確定UIElement的大小。實現其子元素自定義佈局的父物件應該從其佈局重寫實現中呼叫此方法,以形成遞迴佈局更新。(繼承自UIElement)

2

FindName(查詢名稱)

檢索具有指定識別符號名稱的物件。(繼承自FrameworkElement)

3

Focus(焦點)

嘗試將焦點設定到控制元件。(繼承自Control)

4

GetValue(獲取值)

從DependencyObject返回依賴屬性的當前有效值。(繼承自DependencyObject)

5

IndexFromContainer(從容器獲取索引)

返回具有指定生成容器的專案的索引。(繼承自ItemsControl)

6

OnDragEnter(拖動進入事件處理)

在DragEnter事件發生之前呼叫。(繼承自Control)

7

OnDragLeave(拖動離開事件處理)

在DragLeave事件發生之前呼叫。(繼承自Control)

8

OnDragOver(拖動經過事件處理)

在DragOver事件發生之前呼叫。(繼承自Control)

9

OnDrop(放置事件處理)

在Drop事件發生之前呼叫。(繼承自Control)

10

OnKeyDown(按鍵按下事件處理)

在KeyDown事件發生之前呼叫。(繼承自Control)

11

OnKeyUp(按鍵釋放事件處理)

在KeyUp事件發生之前呼叫。(繼承自Control)

12

OnLostFocus(失去焦點事件處理)

在LostFocus事件發生之前呼叫。(繼承自Control)

13

ReadLocalValue(讀取本地值)

如果設定了本地值,則返回依賴屬性的本地值。(繼承自DependencyObject)

14

SetBinding(設定繫結)

使用提供的繫結物件將繫結附加到FrameworkElement。(繼承自FrameworkElement)

15

SetValue(設定值)

設定DependencyObject上依賴屬性的本地值。(繼承自DependencyObject)

讓我們來看一個簡單的例子,在這個例子中,不同的UI元素被新增到ListBox中。

<UserControl x:Class = "ListBoxExample.MainPage" 
   xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation"  
   xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml" 
   xmlns:d = "http://schemas.microsoft.com/expression/blend/2008" 
   xmlns:mc = "http://schemas.openxmlformats.org/markup-compatibility/2006"  
   mc:Ignorable = "d" d:DesignWidth = "640" d:DesignHeight = "480"> 
   
   <Grid x:Name = "LayoutRoot">
	
      <ListBox x:Name = "myList">
		
         <TextBlock Text = "First item" /> 
         <Button Content = "Second item" /> 
         <Path Fill = "Blue" Data = "M4,0 l-4,10 8,0z M15,0 l-4,10 8,0z M26,0 l4,10 8,0z" 
            Margin = "10" /> 
			
         <StackPanel Orientation = "Horizontal"> 
            <Ellipse Fill = "Red" Height = "30" Width = "100" /> 
            <TextBlock Text = "Name: " /> 
            <TextBox Width = "200" /> 
         </StackPanel>
			
         <TextBlock Text = "More..." /> 
			
      </ListBox> 
		
   </Grid>
	
</UserControl>

以下是C#實現。

using System.Windows.Controls; 
 
namespace ListBoxExample { 

   public partial class MainPage : UserControl { 
	
      public MainPage() { 
         InitializeComponent();  
			
         myList.Items.Add("String entry"); 
         myList.Items.Add(new Button { Content = "Content entry" });  
      } 
   } 
}

當上述程式碼編譯並執行時,您將看到一個列表框,其中包含圖形文字的混合,還有一個可編輯的欄位,您可以在其中鍵入文字。

Add  UI Element in ListBox

序號 控制元件及描述
1 日曆和日期選擇器

日曆和日期選擇器表示一個控制元件,它允許使用者使用視覺化日曆顯示來選擇日期。它提供一些使用滑鼠或鍵盤的基本導航。

2 選項卡控制元件

一個容器,它將專案放置到單獨的選項卡中,並允許使用者一次只檢視一個選項卡。它允許使用者透過單擊選項卡標題從許多不同的檢視中進行選擇。

3 彈出視窗

此類在應用程式視窗的範圍內,在現有內容之上顯示內容。它是在其他內容上臨時顯示的內容。

4 工具提示

工具提示表示一個控制元件,它建立一個彈出視窗,用於顯示GUI中元素的資訊。Silverlight允許您將工具提示附加到任何控制元件。

廣告