- XAML 教程
- XAML - 首頁
- XAML - 概述
- XAML - 環境設定
- 在 macOS 上編寫 XAML 應用程式
- XAML 與 C# 程式碼
- XAML 與 VB.NET
- XAML - 構建塊
- XAML - 控制元件
- XAML - 佈局
- XAML - 事件處理
- XAML - 資料繫結
- XAML - 標記擴充套件
- XAML - 依賴屬性
- XAML - 資源
- XAML - 模板
- XAML - 樣式
- XAML - 觸發器
- XAML - 除錯
- XAML - 自定義控制元件
- XAML 有用資源
- XAML - 快速指南
- XAML - 有用資源
- XAML - 討論
XAML - 組合框
組合框表示一種選擇控制元件,它結合了不可編輯的文字框和一個下拉列表框,允許使用者從列表中選擇一項。它要麼顯示當前選擇,要麼在沒有選中項時為空。組合框類的層次繼承如下:
屬性
| 序號 | 屬性和描述 |
|---|---|
| 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 | Header(標題) 獲取或設定控制元件標題的內容。 |
| 10 | Height(高度) 獲取或設定 FrameworkElement 的建議高度。(繼承自 FrameworkElement) |
| 11 | HorizontalAlignment(水平對齊) 獲取或設定應用於 FrameworkElement 的水平對齊特性,當它在一個佈局父元素(例如面板或項控制元件)中組合時。(繼承自 FrameworkElement) |
| 12 | IsDropDownOpen(下拉選單是否開啟) 獲取或設定一個值,該值指示組合框的下拉部分當前是否開啟。 |
| 13 | IsEditable(是否可編輯) 獲取一個值,該值指示使用者是否可以在組合框的文字框部分編輯文字。此屬性始終返回 false。 |
| 14 | IsEnabled(是否啟用) 獲取或設定一個值,指示使用者是否可以與控制元件互動。(繼承自 Control) |
| 15 | Margin(邊距) 獲取或設定 FrameworkElement 的外邊距。(繼承自 FrameworkElement) |
| 16 | Name(名稱) 獲取或設定物件的標識名稱。當 XAML 處理器從 XAML 標記建立物件樹時,執行時程式碼可以透過此名稱引用 XAML宣告的物件。(繼承自 FrameworkElement) |
| 17 | Opacity(不透明度) 獲取或設定物件的透明度。(繼承自 UIElement) |
| 18 | SelectedIndex(選中索引) 獲取或設定選中項的索引。(繼承自 Selector) |
| 19 | SelectedItem(選中項) 獲取或設定選定的專案。(繼承自 Selector) |
| 20 | SelectedValue(選中值) 獲取或設定選中項的值,透過使用 SelectedValuePath 獲取。(繼承自 Selector) |
| 21 | Style(樣式) 獲取或設定在此物件的佈局和呈現期間應用的 Style 例項。(繼承自 FrameworkElement) |
| 22 | VerticalAlignment(垂直對齊) 獲取或設定應用於 FrameworkElement 的垂直對齊特性,當它在一個父物件(例如面板或項控制元件)中組合時。(繼承自 FrameworkElement) |
| 23 | Width(寬度) 獲取或設定 FrameworkElement 的寬度。(繼承自 FrameworkElement) |
| 24 | ItemsSource(項源) 獲取或設定用於生成 ItemsControl 內容的物件源。(繼承自 ItemsControl) |
方法
| 序號 | 方法和描述 |
|---|---|
| 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) |
事件
| 序號 | 事件和描述 |
|---|---|
| 1 | DragEnter(拖動進入) 當輸入系統報告一個基礎拖動事件,並且此元素作為目標時發生。(繼承自 UIElement) |
| 2 | DragLeave(拖動離開) 當輸入系統報告一個基礎拖動事件,並且此元素作為源時發生。(繼承自 UIElement) |
| 3 | DragOver(拖動經過) 當輸入系統報告一個基礎拖動事件,並且此元素作為潛在放置目標時發生。(繼承自 UIElement) |
| 4 | DragStarting(拖動開始) 當拖動操作開始時發生。(繼承自 UIElement) |
| 5 | Drop(放下) 當輸入系統報告一個基礎放置事件,並且此元素作為放置目標時發生。(繼承自 UIElement) |
| 6 | DropCompleted(放下完成) 當拖放操作結束時發生。(繼承自 UIElement) |
| 7 | DropDownClosed(下拉選單關閉) 當組合框的下拉部分關閉時發生。 |
| 8 | DropDownOpened(下拉選單開啟) 當組合框的下拉部分開啟時發生。 |
| 9 | GotFocus(獲得焦點) 當 UIElement 獲得焦點時發生。(繼承自 UIElement) |
| 10 | IsEnabledChanged(啟用狀態改變) 當 IsEnabled 屬性更改時發生。(繼承自 Control) |
| 11 | KeyDown(按鍵按下) 當 UIElement 具有焦點時按下鍵盤鍵時發生。(繼承自 UIElement) |
| 12 | KeyUp(按鍵釋放) 當 UIElement 具有焦點時釋放鍵盤鍵時發生。(繼承自 UIElement) |
| 13 | LostFocus(失去焦點) 當 UIElement 失去焦點時發生。(繼承自 UIElement) |
| 14 | SelectionChanged(選擇改變) 噹噹前選定項更改時發生。(繼承自 Selector) |
| 15 | SizeChanged(大小改變) 當 FrameworkElement 上的 ActualHeight 或 ActualWidth 屬性的值更改時發生。(繼承自 FrameworkElement) |
示例
以下示例包含兩個組合框。第一個組合框是一個簡單的組合框,第二個組合框是可編輯的。
以下是建立了兩個具有某些屬性的組合框的 XAML 程式碼。
<Window x:Class = "XAMLComboBox.MainWindow"
xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml"
Title = "MainWindow" Height = "350" Width = "604">
<Grid>
<ComboBox Height = "20" Width = "100" HorizontalAlignment = "Left" Margin = "116,77,0,212">
<ComboBoxItem Content = "Item #1"/>
<ComboBoxItem Content = "Item #2"/>
<ComboBoxItem Content = "Item #3"/>
</ComboBox>
<ComboBox IsEditable = "True" Height = "20" Width = "100"
HorizontalAlignment = "Right" Margin = "0,77,180,212">
<ComboBoxItem Content = "Item #1"/>
<ComboBoxItem Content = "Item #2"/>
<ComboBoxItem Content = "Item #3"/>
</ComboBox>
</Grid>
</Window>
編譯並執行上述程式碼後,將產生以下輸出:
我們建議您執行上述示例程式碼,並嘗試其他一些屬性和事件。