WPF —— ListBox控件、GroupBox控件详解

1、ListBox 介绍

ListBox 是一个 ItemsControl,这意味着它可以包含任何类型的对象的集合 (,例如字符串、图像或面板) 。

一个 ListBox 中的多个项是可见的,与仅 ComboBox具有所选项可见的项不同,除非 IsDropDownOpen 属性为 true。 该 SelectionMode 属性确定一次是否可以选择多个项 ListBox 。

2 常用的属性

ItemTemplate 子项模版标签

DataTemplate 子项里面数据的模版

3 ListBox的实例

动态绑定数据:使用cs代码添加子选项.必须添加ItemsSource="{Binding}"语法

静态绑定数据:直接使用标签添加子选项

cs 复制代码
<StackPanel Orientation="Horizontal" VerticalAlignment="Top">
   
    <ListBox Width="200"
             Height="400"
             Background="Pink"
             ItemsSource="{Binding}"
             Name="l2">
        <!--演示静态绑定数据-->
        <ListBoxItem>
            <Button>武庚纪</Button> 
        </ListBoxItem>
        <ListBoxItem>斗罗大陆</ListBoxItem>
        <ListBoxItem>星辰变</ListBoxItem>
        
    </ListBox>
    <!--演示的是动态绑定数据 ItemsSource="{Binding}"-->
    <!--演示自定义模版子项-->
    <ListBox Width="200"
             Height="400"
             Name="l1"
             FontSize="20"
             SelectionMode="Extended"
             ItemsSource="{Binding}"
             Margin="100,0,0,0"
             Background="Teal">
        <!--ItemTemplate 子项模版标签-->
        <!--DataTemplate 子项里面数据的模版-->
        <ListBox.ItemTemplate>
            <DataTemplate>
                <Button Content="{Binding}" Background="red"></Button>
            </DataTemplate>
        </ListBox.ItemTemplate>
          
    </ListBox>
        
     <!--演示绑定数据是对象结构-->
    <ListBox Name="l3" Width="200" Margin="100,0,0,0" Background="Beige" 
             ItemsSource="{Binding}">
        
        
    </ListBox>

</StackPanel>
cs 复制代码
    private void Window_Loaded(object sender, RoutedEventArgs e)
    {
        List<string> list = new List<string>();
        list.Add("张三");
        list.Add("李四");
        list.Add("王五");
        list.Add("马六");
        this.l1.DataContext = list;
       
        List<DaJia> list2 = new List<DaJia>();
        list2.Add(new DaJia() { 
            Name = "淀粉肠",
            Description = "是骨头捣碎泥"
        });
        list2.Add(new DaJia()
        {
            Name = "梅菜扣肉",
            Description = "淋巴结肉"
        });
        this.l3.DataContext = list2;
        this.l3.DisplayMemberPath = "Description"; //指定显示属性的路径
     
    }
}
public class DaJia {
    public string Name { get; set; } // 打假名称
    public string Description { get; set; } // 打假描述

}
相关推荐
暮雪倾风41 分钟前
【WPF开发】控件介绍-Grid(网格布局)
windows·wpf
芝麻科技1 天前
使用ValueConverters扩展实现枚举控制页面的显示
wpf·prism
笑非不退2 天前
Wpf Image 展示方式 图片处理 显示
开发语言·javascript·wpf
△曉風殘月〆2 天前
在WPF中实现多语言切换的四种方式
wpf·多语言切换
笑非不退2 天前
WPF C# 读写嵌入的资源 JSON PNG JPG JPEG 图片等资源
c#·wpf
He BianGu2 天前
演示:基于WPF的DrawingVisual开发的频谱图和律动图
wpf·示波器·曲线图·频谱分析仪·频谱图·高性能曲线·自绘
笑非不退5 天前
WPF 设计属性 设计页面时实时显示 页面涉及集合时不显示处理 设计页面时显示集合样式 显示ItemSource TabControl等集合样式
wpf
△曉風殘月〆6 天前
WPF中的XAML详解
wpf·xaml
ithouse6 天前
使用WPF实现一个快速切换JDK版本的客户端工具
java·开发语言·wpf
河西石头6 天前
WPF之UI进阶--控件样式与样式模板及词典
ui·wpf·样式·模板·控件样式·样式模板·样式词典