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

2024-03-19 05:36

本文主要是介绍WPF —— ListBox控件、GroupBox控件详解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、ListBox 介绍

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

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

2 常用的属性

ItemTemplate 子项模版标签
DataTemplate 子项里面数据的模版

3 ListBox的实例

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

<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>

 

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

 

这篇关于WPF —— ListBox控件、GroupBox控件详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/824962

相关文章

Python 函数详解:从基础语法到高级使用技巧

《Python函数详解:从基础语法到高级使用技巧》本文基于实例代码,全面讲解Python函数的定义、参数传递、变量作用域及类型标注等知识点,帮助初学者快速掌握函数的使用技巧,感兴趣的朋友跟随小编一起... 目录一、函数的基本概念与作用二、函数的定义与调用1. 无参函数2. 带参函数3. 带返回值的函数4.

javaSE类和对象进阶用法举例详解

《javaSE类和对象进阶用法举例详解》JavaSE的面向对象编程是软件开发中的基石,它通过类和对象的概念,实现了代码的模块化、可复用性和灵活性,:本文主要介绍javaSE类和对象进阶用法的相关资... 目录前言一、封装1.访问限定符2.包2.1包的概念2.2导入包2.3自定义包2.4常见的包二、stati

SpringBoot结合Knife4j进行API分组授权管理配置详解

《SpringBoot结合Knife4j进行API分组授权管理配置详解》在现代的微服务架构中,API文档和授权管理是不可或缺的一部分,本文将介绍如何在SpringBoot应用中集成Knife4j,并进... 目录环境准备配置 Swagger配置 Swagger OpenAPI自定义 Swagger UI 底

C# async await 异步编程实现机制详解

《C#asyncawait异步编程实现机制详解》async/await是C#5.0引入的语法糖,它基于**状态机(StateMachine)**模式实现,将异步方法转换为编译器生成的状态机类,本... 目录一、async/await 异步编程实现机制1.1 核心概念1.2 编译器转换过程1.3 关键组件解析

Linux权限管理与ACL访问控制详解

《Linux权限管理与ACL访问控制详解》Linux权限管理涵盖基本rwx权限(通过chmod设置)、特殊权限(SUID/SGID/StickyBit)及ACL精细授权,由umask决定默认权限,需合... 目录一、基本权限概述1. 基本权限与数字对应关系二、权限管理命令(chmod)1. 字符模式语法2.

Go语言使用select监听多个channel的示例详解

《Go语言使用select监听多个channel的示例详解》本文将聚焦Go并发中的一个强力工具,select,这篇文章将通过实际案例学习如何优雅地监听多个Channel,实现多任务处理、超时控制和非阻... 目录一、前言:为什么要使用select二、实战目标三、案例代码:监听两个任务结果和超时四、运行示例五

Linux线程同步/互斥过程详解

《Linux线程同步/互斥过程详解》文章讲解多线程并发访问导致竞态条件,需通过互斥锁、原子操作和条件变量实现线程安全与同步,分析死锁条件及避免方法,并介绍RAII封装技术提升资源管理效率... 目录01. 资源共享问题1.1 多线程并发访问1.2 临界区与临界资源1.3 锁的引入02. 多线程案例2.1 为

Python使用Tenacity一行代码实现自动重试详解

《Python使用Tenacity一行代码实现自动重试详解》tenacity是一个专为Python设计的通用重试库,它的核心理念就是用简单、清晰的方式,为任何可能失败的操作添加重试能力,下面我们就来看... 目录一切始于一个简单的 API 调用Tenacity 入门:一行代码实现优雅重试精细控制:让重试按我

Python标准库之数据压缩和存档的应用详解

《Python标准库之数据压缩和存档的应用详解》在数据处理与存储领域,压缩和存档是提升效率的关键技术,Python标准库提供了一套完整的工具链,下面小编就来和大家简单介绍一下吧... 目录一、核心模块架构与设计哲学二、关键模块深度解析1.tarfile:专业级归档工具2.zipfile:跨平台归档首选3.

idea的终端(Terminal)cmd的命令换成linux的命令详解

《idea的终端(Terminal)cmd的命令换成linux的命令详解》本文介绍IDEA配置Git的步骤:安装Git、修改终端设置并重启IDEA,强调顺序,作为个人经验分享,希望提供参考并支持脚本之... 目录一编程、设置前二、前置条件三、android设置四、设置后总结一、php设置前二、前置条件