将项添加到WPF ListView中的列

我现在一直在努力将项目添加到ListView 2列。 在我的Windows窗体应用程序中,我有这样的事情:

 // In my class library: public void AddItems(ListView listView) { var item = new ListViewItem {Text = "Some Text for Column 1"}; item.SubItems.Add("Some Text for Column 2"); listView.Items.Add(item); } 

然后我会从Form.cs调用这个类。

我怎么能在WPF中这样做? 最好,我不想使用大量的XAML。

使用更少XAML和更多C#的解决方案

如果在XAML中定义ListView

  

然后,您可以添加列并在C#中填充它:

 public Window() { // Initialize this.InitializeComponent(); // Add columns var gridView = new GridView(); this.listView.View = gridView; gridView.Columns.Add(new GridViewColumn { Header = "Id", DisplayMemberBinding = new Binding("Id") }); gridView.Columns.Add(new GridViewColumn { Header = "Name", DisplayMemberBinding = new Binding("Name") }); // Populate list this.listView.Items.Add(new MyItem { Id = 1, Name = "David" }); } 

请参阅下面的MyItem定义。

使用更多XAML和更少C#的解决方案

但是,在XAML中定义列(在ListView定义中)更容易:

         

然后只需在C#中填充列表:

 public Window() { // Initialize this.InitializeComponent(); // Populate list this.listView.Items.Add(new MyItem { Id = 1, Name = "David" }); } 

请参阅下面的MyItem定义。

MyItem定义

MyItem的定义如下:

 public class MyItem { public int Id { get; set; } public string Name { get; set; } }