WPF—数据模版绑定数据集合(listbox和panel)

WPF—数据模版绑定数据集合(listbox和panel)

WPF中,可以使用ListBox或者Panel(比如StackPanel或Canvas)来展示数据集合,并使用数据模板DataTemplate来定义数据的呈现方式。以下是一些简单的例子,展示如何将数据集合绑定到ListBox并使用数据模板自定义项的外观。

listbox控件写法

一、创建数据模版并设置list的子项模版

<!--绑定模版数据集合 方法一--><!--创建数据模版--><Grid><Grid.Resources><DataTemplate x:Key="ItemTemplate2"><TextBlock Text="{Binding}"Background="Pink"Margin="10" /></DataTemplate></Grid.Resources><!--创建listbox标签设置子项模版为panel--><!--ScrollViewer.HorizontalScrollBarVisibility="Disabled"ScrollViewer.VerticalScrollBarVisibility="Disabled"这里可以把滚动条禁掉,让外界看不到listbox的影子,而且还可以作一个ListBoxItem的template,这样一来连ListBoxItem特有的选中啊之类的特性也去掉   --><ListBox Height="200"ItemsSource="{Binding strings}"ScrollViewer.HorizontalScrollBarVisibility="Disabled"ScrollViewer.VerticalScrollBarVisibility="Disabled"ItemTemplate="{StaticResource ItemTemplate2}"Background="#5D6B99"><ListBox.ItemsPanel><ItemsPanelTemplate><WrapPanel></WrapPanel></ItemsPanelTemplate></ListBox.ItemsPanel></ListBox></Grid>

二、设置数据并且绑定

// 设置数据并且绑定
public partial class _999_数据模版绑定数据集合 : Window
{public _999_数据模版绑定数据集合(){InitializeComponent();this.DataContext = this;}public ObservableCollection<string> strings { get; set; } = new ObservableCollection<string>() { "张三", "张三", "张三", "张三", "张三", "张三", "张三", "张三", "张三", "张三", "张三", "张三", "张三", "张三", "张三", "张三", "张三", "张三", "张三", "张三", };
}

panel控件绑定集合

在WPF中,WrapPanel是一个面板,它可以在布局中的子元素超出可用空间时自动换行。要将WrapPanel绑定到数据集合,你可以将WrapPanel作为ItemsControl的ItemsPanel,并将数据集合绑定到ItemsControl的ItemsSource属性。

一、设置模版

<!--绑定模版数据集合 方法一:-->
<!-- 设置模版 -->
<Grid><Grid.Resources><DataTemplate x:Key="ItemTemplate"><TextBlock Text="{Binding}"Background="Pink"Margin="10" /></DataTemplate></Grid.Resources><!--第二步设置itemsControl标签将wrappanel设为itemsControl的ItemsPanel标签--><ItemsControl Height="100"Background="Gray"VerticalAlignment="Top"ItemsSource="{Binding strings}"ItemTemplate="{StaticResource ItemTemplate}"><ItemsControl.ItemsPanel><ItemsPanelTemplate><WrapPanel IsItemsHost="True"></WrapPanel></ItemsPanelTemplate></ItemsControl.ItemsPanel></ItemsControl>
</Grid>

二、设置数据并绑定

public partial class _999_数据模版绑定数据集合 : Window
{public _999_数据模版绑定数据集合(){InitializeComponent();this.DataContext = this;}public ObservableCollection<string> strings { get; set; } = new ObservableCollection<string>() { "张三", "张三", "张三", "张三", "张三", "张三", "张三", "张三", "张三", "张三", "张三", "张三", "张三", "张三", "张三", "张三", "张三", "张三", "张三", "张三", };
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/52398.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#高级进阶---关于插件开发(初版)

一、关于插件 插件开发是一种使应用程序功能可扩展的技术。通过插件&#xff0c;应用程序可以动态地加载和使用外部功能模块&#xff0c;而无需重新编译整个程序。 1. 插件架构设计 插件系统通常包含以下几个核心部分&#xff1a; 主程序&#xff08;Host Application&#x…

HTML5休闲小游戏《砖块破坏者》源码,引流、刷广告利器

HTML5休闲小游戏《砖块破坏者》源码&#xff0c;直接把源码上传到服务器就能使用了&#xff01; 下载链接&#xff1a;https://www.huzhan.com/code/goods468802.html

Linux:Bash中的命令介绍(简单命令、管道以及命令列表)

相关阅读 Linuxhttps://blog.csdn.net/weixin_45791458/category_12234591.html?spm1001.2014.3001.5482 在Bash中&#xff0c;命令执行的方式可以分为简单命令、管道和命令列表组成。这些结构提供了强大的工具&#xff0c;允许用户组合命令并精确控制其执行方式。以下是对这…

自己制作VOC转yolo的软件

不多说&#xff0c;直接贴源码&#xff0c;很简单&#xff0c;直接复制下来运行就行 from PyQt5.QtWidgets import (QWidget, QVBoxLayout, QLabel, QLineEdit, QPushButton,QListWidget, QProgressBar, QHBoxLayout, QMainWindow, QFileDialog, QMenu,QDesktopWidget, QSplas…

Kubernetes 中如何对 etcd 进行备份和还原

etcd 是 Kubernetes 集群的重要组件&#xff0c;存储了集群的所有数据&#xff0c;如配置文件、状态信息、以及服务发现数据。因此&#xff0c;定期备份和能够快速还原 etcd 数据是保障 Kubernetes 集群安全与稳定运行的关键步骤。本文将详细介绍如何对 etcd 进行备份与还原的具…

7z解压crc错误 7-Zip-常见问题解答

7-Zip 是一个流行的文件压缩和解压缩工具&#xff0c;但在使用过程中&#xff0c;有时会遇到 CRC&#xff08;循环冗余校验&#xff09;错误。这通常意味着压缩文件已损坏或未完全下载。以下是一些可能的原因及解决方案。 常见原因 文件损坏&#xff1a;下载过程中出现错误&a…

2024年【电气试验】找解析及电气试验模拟考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 电气试验找解析根据新电气试验考试大纲要求&#xff0c;安全生产模拟考试一点通将电气试验模拟考试试题进行汇编&#xff0c;组成一套电气试验全真模拟考试试题&#xff0c;学员可通过电气试验模拟考试全真模拟&#…

文件IO和多路复用IO

目录 前言 一、文件 I/O 1.基本文件 I/O 操作 1.1打开文件 1.2读取文件内容 (read) 1.3写入文件 (write) 1.4关闭文件 (close) 2.文件指针 二、多路复用 I/O 1.常用的多路复用 I/O 模型 1.1select 1.2poll 1.3epoll 2.使用 select、poll 和 epoll 进行简单的 I/O…

C++观察者模式Observer

组件协作 –(都是晚绑定的&#xff09; ----观察者模式 为某些对象建立一种通知依赖的关系&#xff0c; 只要这个对象状态发生改变&#xff0c;观察者对象都能得到通知。 但是依赖关系要松耦合&#xff0c;不要太依赖。 eg&#xff1a;做一个文件分割器&#xff0c;需要一个…

css实现水滴效果图

效果图&#xff1a; <template><div style"width: 100%;height:500px;padding:20px;"><div class"water"></div></div> </template> <script> export default {data() {return {};},watch: {},created() {},me…

B/S架构和C/S架构的区别

B/S架构、C/S架构区别 1. B/S架构 1.1 什么是B/S架构 B/S架构的全称为Browser/Server&#xff0c;即浏览器/服务器结构。Browser指的是Web浏览器&#xff0c;极少数事务逻辑在前端实现&#xff0c;但主要事务逻辑在服务器端实现。B/S架构的系统无须特别安装&#xff0c;只需要…

C知识扫盲-------文件结束符(EOF)

引言&#xff1a; 在文件操作中&#xff0c;EOF 是 “End of File”&#xff08;文件结束&#xff09;的缩写&#xff0c;用于指示文件的结束。EOF 是一个特殊的整型值&#xff08;int&#xff09;&#xff0c;当文件指针到达文件末尾时&#xff0c;许多文件操作函数会返回这个…

动态内存管理-经典笔试题

目录 题目一&#xff1a; 题目二&#xff1a; 题目三&#xff1a; 题目四&#xff1a; 题目一&#xff1a; 结果&#xff1a;程序崩溃 原因&#xff1a; 1、函数是传值调用&#xff0c;出了函数p不存在&#xff0c;str未改变&#xff0c;依旧为空指针&#xff0c;运行时发…

【CTF Web】CTFShow 版本控制泄露源码2 Writeup(目录扫描+.svn泄漏)

版本控制泄露源码2 10 版本控制很重要&#xff0c;但不要部署到生产环境更重要。 解法 用 dirsearch 扫描。 dirsearch -u https://8d22223d-dc2c-419c-b82d-a1d781eda427.challenge.ctf.show/找到 .svn 仓库。 访问&#xff1a; https://8d22223d-dc2c-419c-b82d-a1d781eda…

ubuntu安装minio

# 下载MinIO的可执行文件 curl -O https://dl.min.io/server/minio/release/linux-amd64/minio # 添加执行权限 chmod x minio # 运行MinIO (需要先创建存储数据和存储存储桶的目录) nohup ./minio server /home/lighthouse/minioDir/data /home/lighthouse/minioDir/bucke…

修复线上问题,又造成了个Bug

项目场景 这是一位朋友给我分享的实际线上问题&#xff0c;看似简单却害了项目再次造出一个bug来。 场景&#xff1a;线上环境中&#xff0c;需要查询某某业务数据&#xff0c;条件是状态&#xff0c;之前产品只要求查两个状态的&#xff0c;但现在让他再多查一个状态的。 自…

时序预测|基于贝叶斯BO-卷积-双向门控单元-注意力机制的单变量时间序列预测模型BO-CNN-BiGRU-Attention

时序预测|基于贝叶斯BO-卷积-双向门控单元-注意力机制的单变量时间序列预测模型BO-CNN-BiGRU-Attention 文章目录 前言时序预测|基于贝叶斯BO-卷积-双向门控单元-注意力机制的单变量时间序列预测模型BO-CNN-BiGRU-Attention 一、BO-CNN-BiGRU-Attention模型1. 贝叶斯优化&#…

Go Convey测试框架入门(go convey gomonkey)

Go Convey测试框架入门 介绍 GoConvey是一款针对Golang的测试框架&#xff0c;可以管理和运行测试用例&#xff0c;同时提供了丰富的断言函数&#xff0c;并支持很多 Web 界面特性。 Golang虽然自带了单元测试功能&#xff0c;并且在GoConvey框架诞生之前也出现了许多第三方测…

OSPF路由原理详解与关键点

目录 一. OSPF简介: 二. OSPF原理描述: 三. OSPF的核心内容: 四. OSPF的邻居关系和邻接 五. LSA在各区域中传播的支持情况 一. OSPF简介: 开放式最短路径优先OSPF&#xff08;Open Shortest Path First&#xff09;是IETF组织开发的一个基于链路状态的内部网关协议&…

技术债务已接管经济

“技术债务”一词通常指软件开发过程中的捷径或次优方法。它表现为设计不良的代码、缺乏文档和过时的组件。虽然正确编写的代码和文档是永恒的&#xff0c;但组件和方法却不是。随着时间的推移&#xff0c;软件及其组件可能会成为技术债务。自 40 年前的 20 世纪 80 年代软件行…