C#Selfmade ListView项目集

时间:2015-04-09 11:45:08

标签: c# .net-3.5 compact-framework

我正在制作自己的ListViewListView(a UserControl)目前使用BindingList ListViewItems并显示每个项目。

我正在尝试让我自己的ListView能够绑定我想要的任何模型对象。这就是我从ListViewItem类继承Object的原因。但是现在我正在努力制作一个实际上包含ListViewItem的集合/列表,但是你可以在其中添加任何你想要的Object

简而言之:如何制作与ListCollection项目集合相似的ListBoxListView

示例:

MyListView myListView = new MyListView();

// Add an Object of type MyObject
myListView.Items.Add(myObject);

// Get the object back. (It is returned as a ListViewItem).
ListViewItem sameObjectAsItem = myListView.Items[0];
// Now I should be able to convert the ListViewItem back to MyObject via cast.
MyObject sameObjectAgain = sameObjectAsItem as MyObject;

到目前为止我做了什么:

我创建了一个继承自List<Object>的类。但我无法将MyObject投射到ListViewItem。当然我可以做一个自定义的Cast转换器,但我想我必须创建一个新的ListViewItem对象,因此会丢失引用。

为什么我这样做:

我在Compact Framework .NET 3.5项目上执行此操作。 CompactFramework只提供基本的ListView,我正在创建一个更高级的。如果我只使用ListViewItems,它可以完美地运行,但我希望它的行为与普通的.NET ListView一样。

提前致谢,我希望你能帮助我。请询问您是否需要更多信息。

0 个答案:

没有答案