- 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>
编译并执行上述代码后,将产生以下输出:
我们建议您执行上述示例代码,并尝试其他一些属性和事件。