添加项目到列在WPF的ListView [英] Add Items to Columns in a WPF ListView

查看:1428
本文介绍了添加项目到列在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆