- WPF 教程
- WPF - 首页
- WPF - 概述
- WPF - 环境设置
- WPF - Hello World
- WPF - XAML 概述
- WPF - 元素树
- WPF - 依赖属性
- WPF - 路由事件
- WPF - 控件
- WPF - 布局
- WPF - 布局嵌套
- WPF - 输入
- WPF - 命令行
- WPF - 数据绑定
- WPF - 资源
- WPF - 模板
- WPF - 样式
- WPF - 触发器
- WPF - 调试
- WPF - 自定义控件
- WPF - 异常处理
- WPF - 本地化
- WPF - 交互
- WPF - 2D 图形
- WPF - 3D 图形
- WPF - 多媒体
- WPF 有用资源
- WPF - 快速指南
- WPF - 有用资源
- WPF - 讨论
WPF - 列表框
ListBox 是一种为用户提供项目列表以便选择的控件。用户可以一次从预定义的项目列表中选择一个或多个项目。在 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 | 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>
编译并执行上述代码后,将产生以下输出:
我们建议您执行上述示例代码,并尝试 ListBox 控件的其他属性和事件。