WPF 中的 ListView 子项
Posted
技术标签:
【中文标题】WPF 中的 ListView 子项【英文标题】:ListView SubItems in WPF 【发布时间】: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
【参考方案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 一起使用?如果这是真的,请说明你是如何定义它的。以上是关于WPF 中的 ListView 子项的主要内容,如果未能解决你的问题,请参考以下文章
在android中,当我按了listview中的一个子项时,利用ContextMenu弹出菜单,那怎么获取这个子项的数据呢?