如何解决如何以编程方式和动态方式在编译时我不知道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(将#修改为@)