.NET Listview复制项目

Pau*_*els 1 .net c# listview

有没有办法将listview的全部内容从一个控件复制到另一个控件,而无需手动设置第二个控件并迭代每个项目?我想的是:

ListView myNewListView = new ListView();
lvwExistingView.CopyTo(myNewListView);
Run Code Online (Sandbox Code Playgroud)

甚至:

ListView myNewListView = new ListView();
lvwExistingView.Items.CopyTo(myNewListView.Items, 1); // This doesn't work because it expects an array
Run Code Online (Sandbox Code Playgroud)

Cod*_*uth 5

A ListViewItem一次不能存在于多个列表视图中.他们需要重新创建.

但是你可以使用LINQ快速完成.

myNewListView.Items.AddRange(
    lvwExistingView.Items.Cast<ListViewItem>().Select(i => 
        i.Clone()).Cast<ListViewItem>().ToArray());
Run Code Online (Sandbox Code Playgroud)