Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在WPF C的ListViewItem中添加子项#_C#_Wpf - Fatal编程技术网

C# 如何在WPF C的ListViewItem中添加子项#

C# 如何在WPF C的ListViewItem中添加子项#,c#,wpf,C#,Wpf,我想将数据从excel数据表导入WPF中的listview。 我想向listviewitem添加项和子项。 如果在Windows窗体代码中: foreach(DataRow drow in dtblImport.Rows) { ListViewItem lvi = new ListViewItem(); lvi.DataContext = drow[0].ToString(); foreach(DataColumn dcol in dtblImport.Column) {

我想将数据从excel数据表导入WPF中的listview。 我想向listviewitem添加项和子项。 如果在Windows窗体代码中:

foreach(DataRow drow in dtblImport.Rows)
{
  ListViewItem lvi = new ListViewItem();
  lvi.DataContext = drow[0].ToString();

   foreach(DataColumn dcol in dtblImport.Column)
    {
      if(drow[dcol.Ordinal] != DBNull.Value){
      lvi.SubItem.Add(drow[dcol.Ordinal].ToString());}
      else {       
      lvi.SubItem.Add("");}
    }
   ListView.Items.Add(lvi);

}

但是,如果我想在WPF中这样做怎么办?感谢您在XAML中定义此控件

<ListView x:Name="listView">
    <ListView.View>
        <GridView>
            <GridViewColumn Header="Name" DisplayMemberBinding="{Binding Path=Name}" />
            <GridViewColumn Header="Description" DisplayMemberBinding="{Binding Path=Description}" />
        </GridView>
    </ListView.View>
</ListView>
类项包含属性名称和描述

如果要更改显示的列,请更改XAML

这不是一个好方法,因为这里您没有使用MVVM,您应该做的是将ListView ItemsSource属性绑定到ViewModel中的一个集合,然后处理该集合。

的可能重复项
listView.Items.Add(new Item());