从列表视图中选择项目并投射到我的自定义对象

2023-12-01

我正在尝试从列表视图中选择对象并转换为我的自定义对象,如下所示

MyObject foo = (MyObject)MyListView.SelectedItems[0];

但这给了我编译错误

错误 4 无法将类型“System.Windows.Forms.ListViewItem”转换为 “我的对象”


Default ListView不可数据绑定(即您无法将某些对象指定为列表视图的数据源)。它包含ListViewItem对象,无法转换为您的数据类型。这就是您收到此错误的原因。

如果您想从以下位置获取自定义对象ListViewItem那么你需要手动构建它ListViewItem:

ListViewItem item = (MyObject)MyListView.SelectedItems[0];
MyObject foo = new MyObject();
foo.FirstName = item.Text;
foo.LastName = item.SubItems[1].Text;
foo.Age = Int32.Parse(item.SubItems[2].Text);

或者您可以将自定义对象存储在Tag的财产ListViewItem并取回它:

ListViewItem item = (MyObject)MyListView.SelectedItems[0];
MyObject foo = (MyObject)item.Tag;

顺便说一句考虑使用DataGridView支持绑定。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从列表视图中选择项目并投射到我的自定义对象 的相关文章

随机推荐