Wpf 在列表框中显示动态列

Wpf 在列表框中显示动态列,wpf,xaml,csv,listbox,Wpf,Xaml,Csv,Listbox,我想写一个应用程序来显示CSV文件中的数据 我认为使用列表框来实现这一点是最简单的 我只是不知道如何定义数据模板,以便容纳csv希望定义的尽可能多的列。有没有一种方法可以根据列表中的项目计数来定义网格中的列数?使用ListView而不是ListBox,然后可以使用GridView来定义列,或者可以使用DataGrid,该DataGrid还可以根据获取的数据自动创建列,但这需要属性,这些都不是很好的动态创建 我建议您将数据解析为数组对象,并通过迭代其长度来创建列。添加如下绑定:新绑定(“[”+i+

我想写一个应用程序来显示CSV文件中的数据

我认为使用列表框来实现这一点是最简单的


我只是不知道如何定义数据模板,以便容纳csv希望定义的尽可能多的列。有没有一种方法可以根据列表中的项目计数来定义网格中的列数?

使用ListView而不是ListBox,然后可以使用GridView来定义列,或者可以使用DataGrid,该DataGrid还可以根据获取的数据自动创建列,但这需要属性,这些都不是很好的动态创建

我建议您将数据解析为数组对象,并通过迭代其长度来创建列。添加如下绑定:
新绑定(“[”+i+“])

这里有一个大致的轮廓:

<ListView Name="csvLv"/>

var-view=new-GridView();
视图=视图;
使用(var reader=newstreamreader(@“pathgoesher.csv”))
{
//这只是一个草图,所有的数据提取都取决于您的格式
var lines=reader.ReadToEnd()
.Split(新字符串[]{Environment.NewLine},StringSplitOptions.RemoveEmptyEntries)
.Select(x=>x.Split(',).ToArray();
变量头=行[0];
var数据=行。跳过(1);
for(int i=0;i
我很困惑,“[”+I+“]”指的是什么?@Luke:它绑定到通过索引器访问的第I项,因此每列显示该项中的第I项,该项是一个数组,包含所有列的所有值。对,我想我可以这样做。谢谢