如何以编程方式和动态方式在编译时我不知道ListView的N列将项目添加到WPF中的ListView

问题描述

我不能使用绑定(ListView.ItemSource),而且还必须以编程方式添加列,而不是XAML

说,这就是问题 可以通过编程(在C#中)和动态地填充ListView的单元格(在运行时之前,我不知道会有多少列具有ListView)?

这是我到目前为止所得到的:

<ListView Name="listView" Grid.Row="1" Grid.ColumnSpan="4" Margin="0 10 0 0"/>
listView.Items.Clear();

listViewGridView.Columns.Clear();
listViewGridView.Columns.Add(new GridViewColumn() { Header = "Host",Width = 150 });

foreach (string field in fields) // fields is a List<string> containing several fields,but unknown how many,each represents a column (there is a extra hardcoded column "Hosts" that contains another field)
{
    listViewGridView.Columns.Add(new GridViewColumn() { Header = field,Width = 150 });
}

listView.View = listViewGridView;

foreach (Host host in engine.hostList) // engine.hostList is other List<string> containing a unknown number of Hosts,each one will be represented with a row
{
    ListViewItem item = new ListViewItem();
    item.Content = host.toArray();
    listView.Items.Add(item); // The result of this,is string "String[] Array" in all cells (all rows and columns)
    //listView.Items.Add(Host.host); // Also tried to add just the hardcoded field,as string,this results on the string printed on all cells of the row
}

我记得在Windows窗体中,我可以为此使用ListViewItem.Subitems,但是WPF中不包含

希望能提供足够的信息,谢谢您的收听。谁能帮我吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...