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

本文关键字:ListViewItem 添加 WPF | 更新日期: 2023-09-27 18:08:08

我想导入数据从excel数据表到WPF的列表视图。我想在listviewitem中添加item和subitem。如果在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中做呢?由于

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

在你的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>

,然后在代码后面,您可以通过键入

向List视图添加新项
listView.Items.Add(new Item());

类Item包含属性Name和Description。

如果要更改显示的列,则更改XAML.

这不是一个好方法,因为这里你没有使用MVVM,你应该做的是绑定ListView ItemsSource属性到你的ViewModel中的集合,然后在该集合上工作。