- 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 - 列表框
ListBox 是一种控件,它为用户提供项目列表以供选择。用户可以一次从预定义的项目列表中选择一个或多个项目。在 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) |
事件
序号 | 事件及描述 |
---|---|
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) |
方法
序号 | 方法及描述 |
---|---|
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) |
示例
以下示例显示了 ListBox 控件和 TextBox 控件。当用户从 ListBox 中选择任何项目时,它也会显示在 TextBox 上。
以下是创建和初始化 ListBox 和 TextBox 以及一些属性的 XAML 代码。
<Window x:Class = "XAMLListBox.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> <StackPanel Orientation = "Horizontal"> <ListBox Name = "listbox" Margin = "20,20,20,177" Width = "103"> <ListBoxItem Content = "Ali"/> <ListBoxItem Content = "Salman"/> <ListBoxItem Content = "Virat"/> <ListBoxItem Content = "Aamir"/> </ListBox> <TextBox Height = "23" Name = "textBox1" Width = "120" Margin = "20" HorizontalAlignment = "Left" VerticalAlignment = "Top"> <TextBox.Text> <Binding ElementName = "listbox" Path = "SelectedItem.Content"/> </TextBox.Text> </TextBox> </StackPanel> </Grid> </Window>
编译并执行上述代码后,将生成以下输出:
我们建议您执行上述示例代码,并尝试其他一些属性和事件。