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; } // 打假描述

}
相关推荐
2601_962174171 天前
Redis 简介
数据库·redis·wpf
SamChan903 天前
Python+PyMuPDF提取PDF表格并翻译:表格结构检测与双语重建实战
windows·python·ai·pdf·wpf
SamChan903 天前
Python+OpenCV检测PDF翻译后排版偏移:像素级格式一致性验证
python·opencv·ai·pdf·wpf
FuckPatience3 天前
WPF 拿到控件的最初样式,修改获得焦点样式
wpf
主宰者3 天前
【WPF】MainWindow前添加加载窗口,发现加载过程中有白色无内容窗口闪烁一下的解决方案
wpf
Vae_Mars4 天前
WPF中的ControlTemplate(控件模板)
wpf
SamChan904 天前
Python+ReportLab自动生成PDF翻译质量审计报告:从数据到可视化的完整方案
开发语言·python·ai·pdf·wpf
circuitsosk4 天前
多智能体协同在能源数据分析中的实践:分配-执行-校验闭环架构设计
python·数据分析·wpf·能源·并行计算·多智能体系统·agent协作
weixin199701080165 天前
《大促护航:电商API限流与降级,双11峰值500万调用的架构复盘》(附Python源码)
python·架构·wpf
hh9505 天前
gent Plan x DeepSeek Harness:多 Agent 协作场景下的中央编排实践
人工智能·wpf·adg·火山引擎·agent plan·adg成都社区