WPF listbox实现多列显示数据

一.每行显示固定列数

<ListBox ItemsSource="{Binding DataList}" Style="{DynamicResource ListBoxStyle}" ScrollViewer.HorizontalScrollBarVisibility="Disabled" >
                    <ListBox.ItemsPanel>
                        <ItemsPanelTemplate>
                            <UniformGrid Columns="3"/>
                        </ItemsPanelTemplate>
                    </ListBox.ItemsPanel>
                    <ListBox.ItemTemplate>
                        <DataTemplate>
                            ...
                        </DataTemplate>
                    </ListBox.ItemTemplate>
</ListBox>

二.每行显示列数随宽度变化

<ListBox ItemsSource="{Binding DataList}" Style="{DynamicResource ListBoxStyle}" ScrollViewer.HorizontalScrollBarVisibility="Disabled" >
                    <ListBox.ItemsPanel>
                        <ItemsPanelTemplate>          
                            <WrapPanel IsItemsHost="True"/>
                        </ItemsPanelTemplate>
                    </ListBox.ItemsPanel>
                    <ListBox.ItemTemplate>
                        <DataTemplate>
                            ...
                        </DataTemplate>
                    </ListBox.ItemTemplate>
</ListBox>

时间: 2024-09-30 06:33:46

WPF listbox实现多列显示数据的相关文章

WPF之Binding对数据的转换(第五天)

Binding在Slider控件与TextBox控件之间建立关联,值可以互相绑定,但是它们的数据类型是不同的,Slider是Double类型,Text为String.原来,Binding有一种机制称为数据转换(Data Converter),当数据绑定的源与目标不同类型时,处理比较简单时,系统就自动的进行了类型转换,但是对于相对复杂的类型转换时,就需要我们手动进行了. 下面用一个例子来说明Convert的应用,程序的用途是在列表里面向玩家显示一些球的状态. 首先创建几个自定义数据类型: publ

WPF listbox的分组研究

1. 初探GroupItem对象 2.ContainerStyle 与 GroupItem的绑定对象 3.Grouping 级联 WPF listbox的分组研究

【C#/WPF】保存BitmapImage数据到文件中

原文:[C#/WPF]保存BitmapImage数据到文件中 参考: http://stackoverflow.com/questions/35804375/how-do-i-save-a-bitmapimage-from-memory-into-a-file-in-wpf-c /// <summary> /// 把内存里的BitmapImage数据保存到硬盘中 /// </summary> /// <param name="bitmapImage">

wpf listbox 选中项 上移下移

原文:wpf listbox 选中项 上移下移 private void MoveUp_Click(object sender, RoutedEventArgs e) ?? ? ? ?{ ?? ? ? ? ? ?DataRowView rowView = this.listScrip.SelectedItem as DataRowView; ?? ? ? ? ? ?if (rowView == null) ?? ? ? ? ? ?{ ?? ? ? ? ? ? ? ?return; ?? ? ?

wpf ListBox或ListView等数据控件 绑定数据,最简单的方式

在网上很难找最简单的案例,都是一大片,看着都头疼: 试试举一反三,如果把结果赋给DataContext这个属性,那就前台需要绑定ItemsSource="{Binding}",请注意.直接赋给ItemsSourc就不要绑定了: 后台代码: List<string> list = new List<string>(); for (int i = 0; i < 100; i++) { list.Add("sas" + i); } this.

WPF Data Binding之数据的转换和校验【四】

Binding的作用就是架在Source和Target之间的桥梁,数据可以在这座桥梁的帮助下来流通.就像现实社会中桥梁需要设置安检和关卡一样,Binding这座桥上也可以设置关卡对数据进行验证,不仅如此,如果Binding两端需要不同的数据类型的时候我们还可以为数据设置转换器. Binding用于数据有效性校验的关卡是他的ValidationRules属性,用于数据类型转换的关卡是它的Convert属性. 1.1 Binding的数据校验 Binding的ValidationRules属性是Co

[转]深入浅出WPF(7)——数据的绿色通道,Binding

本文转自:http://liutiemeng.blog.51cto.com/120361/95273 小序: 怎么直接从2蹦到7啦?!啊哦,实在是不好意思,最近实在是太忙了,忙的原因也非常简单——自己的技术太差了,还有很多东西要学呀.门里门外,发现专业程序员非常重要的一项技能是读别人写的代码,这项技能甚至比自己写代码更重要.Anstinus同学就是读代码的高手,我写的代码他看两眼就知道怎么回事了,并且能够立刻修改,而他的代码我读了好几天还不知道是怎么回事儿呢. 2到7之间是留给XAML语言基础的

wpf listbox分页

List<ListBoxItem> llb;//符合条件像的listbox数据集合 public static List<ModelDataBase> datalist = new List<ModelDataBase>();//总的数据源 int pageIndex = 1;//当前页 int pageSize = 16;//一页最大容量 int totalPage = 0;//总页数 public void TakePage() { tbindex.Text = p

多线程操作(循环往listbox中添加数据)

一.先造一个窗体,其中就开始按钮,暂停按钮,以及listbox文本框 二.当点击开始的时候,数据会无限的往listbox中加,为了防止卡住和提升效率,便造了一个新的线程来执行开始操作 namespace 线程Again { //首先要定义一个委托(委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递) public delegate void Weituo();//利用这个委托来用方法调用方法 public partial class Form1 : Form { //