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

查看:27
本文介绍了将项目添加到 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 调用这个类.

I would then call this class from my Form.cs.

如何在 WPF 中执行此操作?最好,我不想使用大量的 XAML.

How can I do this in WPF? Preferably, I wouldn't like to use a lot of XAML.

推荐答案

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

如果您在 XAML 中定义 ListView:

<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的定义.

但是,在 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的定义.

MyItem 定义如下:

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

    public string Name { get; set; }
}

这篇关于将项目添加到 WPF ListView 中的列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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