添加项目到列在WPF的ListView [英] Add Items to Columns in a WPF ListView
问题描述
我一直在挣扎了一会儿,现在到了的ListView
添加项目到2列。在我的Windows窗体应用程序我有一个是这样的:
I've been struggling for a while now to add items to 2 columns in a ListView
. In my Windows Forms application I had a something like this:
// 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? preferably,我不喜欢用大量的XAML的。
How can I do this in WPF? Preferably, I wouldn't like to use a lot of XAML.
推荐答案
如果您定义的的ListView
在XAML:
Solution With Less XAML and More C#
If you define the ListView
in XAML:
<ListView x:Name="listView"/>
然后,您可以添加列,并在C#来填充它:
Then you can add columns and populate it in 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
的定义。的
See definition of MyItem
below.
然而,它更容易在XAML来定义列(在的ListView
定义中):
However, it's easier to define the columns in XAML (inside the ListView
definition):
<ListView x:Name="listView">
<ListView.View>
<GridView>
<GridViewColumn Header="Id" DisplayMemberBinding="{Binding Id}"/>
<GridViewColumn Header="Name" DisplayMemberBinding="{Binding Name}"/>
</GridView>
</ListView.View>
</ListView>
然后只是填充在C#列表:
And then just populate the list in C#:
public Window()
{
// Initialize
this.InitializeComponent();
// Populate list
this.listView.Items.Add(new MyItem { Id = 1, Name = "David" });
}
的请参见下面 MyItem
的定义。的
See definition of MyItem
below.
MyItem
的定义是这样的:
public class MyItem
{
public int Id { get; set; }
public string Name { get; set; }
}
这篇关于添加项目到列在WPF的ListView的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!