将项添加到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; } }