WPF - 列表框



ListBox 是一種為使用者提供專案列表以便選擇的控制元件。使用者可以一次從預定義的專案列表中選擇一個或多個專案。在 ListBox 中,多個選項始終可見,無需使用者互動。ListBox 類的繼承層次結構如下:

Hierarchical of 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

ItemSource

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

14

Margin

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

15

Name

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

16

Opacity

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

17

SelectedIndex

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

18

SelectedItem

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

19

SelectedValue

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

20

Style

獲取或設定在此物件的佈局和呈現期間應用的 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)

示例

  • 讓我們建立一個名為 **WPFListBoxControl** 的新 WPF 專案。

  • 從工具箱中拖動一個列表框和一個文字框。

  • 當用戶從 ListBox 中選擇任何專案時,它也會顯示在 TextBox 上。

  • 以下是建立並初始化 ListBox 和 TextBox 以及一些屬性的 XAML 程式碼。

<Window x:Class = "WPFListBoxControl.MainWindow" 
   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" 
   xmlns:local = "clr-namespace:WPFListBoxControl"
   mc:Ignorable = "d" Title = "MainWindow" Height = "350" Width = "604">
	
   <Grid> 
      <ListBox Name = "listbox" Margin = "118,77,293,103">
         <ListBoxItem Content = "XAML Tutorials" /> 
         <ListBoxItem Content = "WPF Tutorials" /> 
         <ListBoxItem Content = "Silverlight Tutorials" /> 
         <ListBoxItem Content = "Windows 10 Tutorials" /> 
         <ListBoxItem Content = "iOS Tutorials" /> 
      </ListBox> 
		
      <TextBox Height = "23" x:Name = "textBox1" Width = "120" Margin = "361,116,0,0"  
         HorizontalAlignment = "Left" VerticalAlignment = "Top"  
         Text="{Binding SelectedItem.Content, ElementName=listbox}" /> 
   </Grid> 
	
</Window>

編譯並執行上述程式碼後,將產生以下輸出:

Output of Listbox

我們建議您執行上述示例程式碼,並嘗試 ListBox 控制元件的其他屬性和事件。

wpf_controls.htm
廣告
© . All rights reserved.