【问题标题】:ListView SubItems in WPFWPF 中的 ListView 子项
【发布时间】:2021-03-26 02:17:03
【问题描述】:

我开始学习 WPF c#,在 Windows 窗体中我像这样将 SubItems 添加到 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 中将 SubItems 添加到 ListView 中?

【问题讨论】:

  • "我无法在 WPF 中执行此操作",为什么不呢? ListView1.Items.Add()确实存在于WPF中
  • @styx 成功了,你知道如何检查子项目文本吗?
  • ListView.Items[i].SubItems[j].Text
  • @styx 根本没有“子项目”,也没有“文本”,我刚刚看到了内容
  • 您可以遍历项目列表或查看 SelectedItem

标签: c# .net wpf winforms listview


【解决方案1】:

查看

<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);
        }

【讨论】:

    【解决方案2】:

    据我所知,你应该只需要

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

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

    【讨论】:

    • 这是否意味着您将 ListView 与 GridView 一起使用?如果这是真的,请说明你是如何定义它的。
    猜你喜欢
    • 2014-11-04
    • 2010-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-14
    • 1970-01-01
    相关资源
    最近更新 更多