Winformsアプリの仮想ListViewコントロールに関して、RetrieveVirtualItemイベントのすべての機能は何ですか?
シナリオ:ListViewキャッシュとして機能するDictionaryオブジェクトがあります。そして、そのアイテムはListViewに表示されます。列をクリックすると、キャッシュディクショナリがメモリ内でソートされ、ListViewがRefresh()されます。UIへの影響、ListViewは適切にソートされています。:)
しかし、Refresh()でトリガーされるRetrieveVirtualItemイベントの役割を理解したいと思います。
RetrieveVirtualItemイベントハンドラー[他の誰かのコード:(]で、次のことが行われます。
- に基づいて
RetrieveVirtualItemEventArgs.ItemIndex
、キャッシュからメッセージを取得します - セット
RetrieveVirtualItemEventArgs.Item
=上記の取得アイテム
イベントハンドラーで何が行われるかが重要なようです。それを取り出すと、ListViewが泣くからです。このイベントの意義は何ですか?
編集
または質問を言い換えさせてください...私の懸念は、なぜ、並べ替え(およびRetrieveVirtualItem
イベントハンドラー)の後、選択されたアイテムが並べ替え前の場所に残るのかということです。つまり、アイテム#5を選択して並べ替え、並べ替えによってこのアイテムが最後のアイテムになる場合は、並べ替えの後に最後のアイテムを選択することをお勧めします。しかし、私の場合、ソート後に5番目のアイテムが選択されます。RetrieveVirtualItem
では、 WRTで選択されたアイテムのデフォルトの動作は何ですか?