XAML - ListBox

ListBox 是一种控件,它为用户提供项目列表以供选择。用户可以一次从预定义的项目列表中选择一个或多个项目。在 ListBox 中,用户始终可以看到多个选项,而无需任何用户交互。 ListBox 类的层次继承如下 −

ListBox Hierarchy

属性

Sr.No. 属性和说明
1

Background

获取或设置提供控件背景的画笔。 (从控件继承)

2

BorderThickness

获取或设置控件的边框厚度。 (从控件继承)

3

FontFamily

获取或设置用于在控件中显示文本的字体。 (从控件继承)

4

FontSize

获取或设置此控件中文本的大小。 (从控件继承)

5

FontStyle

获取或设置文本呈现的样式。 (从控件继承)

6

FontWeight

获取或设置指定字体的粗细。 (从控件继承)

7

Foreground

获取或设置描述前景色的画笔。(从 Control 继承)

8

GroupStyle

获取定义各级组外观的 GroupStyle 对象集合。(从 ItemsControl 继承)

9

高度

获取或设置 FrameworkElement 的建议高度。 (从 FrameworkElement 继承)

10

Horizo​​ntalAlignment

获取或设置在布局父级(例如面板或项目控件)中组合 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

获取或设置在布局和渲染期间应用于此对象的实例 Style。 (从 FrameworkElement 继承)

21

VerticalAlignment

获取或设置在父对象(如面板或项目控件)中组合 FrameworkElement 时应用于它的垂直对齐特征。 (从 FrameworkElement 继承)

22

Width

获取或设置 FrameworkElement 的宽度。(从 FrameworkElement 继承)

事件

Sr.No. 事件和说明
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 继承)

方法

Sr.No. 方法和说明
1

Arrange

定位子对象并确定 UIElement 的大小。为其子元素实现自定义布局的父对象应从其布局覆盖实现中调用此方法以形成递归布局更新。 (从 UIElement 继承)

2

FindName

检索具有指定标识符名称的对象。 (从 FrameworkElement 继承)

3

Focus

尝试将焦点设置在控件上。 (从 Control 继承)

4

GetValue

从 DependencyObject 返回依赖项属性的当前有效值。 (从 DependencyObject 继承)

5

IndexFromContainer

返回具有指定的已生成容器的项目的索引。 (从 ItemsControl 继承)

6

OnDragEnter

在 DragEnter 事件发生之前调用。 (从 Control 继承)

7

OnDragLeave

在 DragLeave 事件发生之前调用。 (从控件继承)

8

OnDragOver

在 DragOver 事件发生之前调用。 (从控件继承)

9

OnDrop

在 Drop 事件发生之前调用。 (从控件继承)

10

OnKeyDown

在 KeyDown 事件发生之前调用。 (从控件继承)

11

OnKeyUp

在 KeyUp 事件发生之前调用。 (从控件继承)

12

OnLostFocus

在 LostFocus 事件发生之前调用。 (从控件继承)

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>

当你编译并执行上面的代码时,它将产生以下输出−

列表框输出

我们建议您执行上面的示例代码并尝试一些其他属性和事件。

xaml_controls.html