当前位置: 首页 > news >正文

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.mrgr.cn/news/10585.html

相关文章:

  • 【数据结构】—— 树和二叉树
  • C++基础面试题 | 什么是C++的列表初始化?
  • 基于Linux系统和ncurses库的贪吃蛇小游戏
  • 【sql】加密所有的存储程式
  • 从0-1建一个webpack/vue项目,熟悉一下webpack知识点
  • 【AD9361 数字基带】多片基带内FPGA补偿 I/Q Rotation
  • 一文带你了解React Hooks
  • 基于django的影音播放网站 /基于python的影视网站/影视播放系统
  • 使用微软Detours库进行模块枚举
  • 深入探究linux文件IO
  • 阿里云ECS重启后自定义DNS配置丢失解决方法
  • 分享:一种基于NTP的网络时钟同步服务器
  • 鸿蒙内核源码分析(文件句柄篇) | 你为什么叫句柄
  • 在遍历过程中修改 List 的几种方式
  • 信息学奥赛知识点(十三)----树和二叉树(上)
  • 【Linux】日志函数
  • Java笔试面试题AI答之线程(20)
  • 【算法进阶1】贪心算法、背包问题(0-1背包、分数背包)、拼接最大数字问题、活动选择问题
  • 网络安全——基础知识记忆梳理
  • 突破编程:C++中的组合模式(Composite Pattern)