0

ListViewItem.ListView 属性将在添加到所有者 ListView 后自动设置。但是 ListViewItem.ListView 属性没有设置器。

ListViewItem item = new ListViewItem(); // item.ListView == null here. listView.Items.Add( item ); // item.ListView != null where no setter.

我想知道 ListViewItem.ListView 获取属性的实现。ListView.Items.Add() 方法中设置了哪些私有字段?如何?我正在尝试将类似的类关系创建为 ListView 和 ListViewItem 之间的关系。

非常感谢您的帮助。

4

2 回答 2

0

属性具有存储值的基础变量。可能添加到 ListView 的实现将此变量设置为正确的值。

于 2012-05-09T15:52:31.747 回答
0

ListViewItemCollection.Add调用(间接)内部方法ListViewItem

internal void Host(ListView parent, int ID, int index)
{
    this.ID = ID;
    this.listView = parent;
    if (index != -1)
    {
        this.UpdateStateToListView(index);
    }
}

(您可以在 Reflector 或 JustDecompile 等反编译器中看到此代码)

于 2012-05-10T15:47:15.500 回答