WPF 中的 ListView 子项

ListView SubItems in WPF

我开始学习 WPF c#,在 Windows 表单中,我像这样将子项添加到 ListView

string[] spendDetails = new string[2];
spendDetails[0] = _categoryNames[0];
spendDetails[1] = _categoryValues[0].ToString();
 ListViewItem item = new ListViewItem(spendDetails);
_listSpendingView.Items.Add(item);

我无法在 WPF 中执行此操作,那么如何在 WPF 中将子项添加到 ListView?

据我所知,你应该只需要

_listSpendingView.Items.Add(_categoryNames[0]);

Items 集合将保存元素供以后检索,并会自动调用 ToString() 进行显示。

查看

<ListView x:Name="ListView1" >
    <ListView.View>
        <GridView>
            <GridViewColumn Header="id" DisplayMemberBinding="{Binding Path=Id}"/>
            <GridViewColumn Header="name" DisplayMemberBinding="{Binding Path=Name}"/>
            <GridViewColumn Header="age" DisplayMemberBinding="{Binding Path=Age}"/>
        </GridView>
    </ListView.View>
</ListView>

视图模型

public class ItemViewModel
{   
    public Guid Id { get; set; }
    public string Name { get; set; }
    public int Age { get; set; }
}

演示

        for (int i = 0; i < 3; i++)
        {
            var item = new ItemViewModel()
            {
                Id = Guid.NewGuid(),
                Name = "User" + i,
                Age = 8 + i
            };
            this.ListView1.Items.Add(item);
        }