Domanda

Ho un'app con un ListView di grandi dimensioni che è terribilmente lento, quindi sto implementando VirtualMode. MSDN non sembra coprire il modo in cui aggiungerei ed eliminerei nuovi elementi nel mezzo della visualizzazione elenco.

Ad esempio, ListView ha 1000 elementi (che rappresentano i file sul disco) e dopo il popolamento iniziale di ListView (dall'evento RetrieveVirtualItem) alcuni file verranno eliminati e altri aggiunti in modo che VirtualListSize possa essere lo stesso dopo l'aggiornamento .

Domanda 1) Come posso dire a ListView "questi elementi sono stati modificati / eliminati" in modo che sia necessario?

Inoltre, alcuni file cambiano e vorrei riflettere il loro stato modificato nella visualizzazione elenco.

Domanda 2) Come trovo un elemento nella visualizzazione elenco dato che VirtualMode non mi consente di accedere alla raccolta Articoli che stavo usando prima (ho usato il metodo ContainsKey su quella raccolta).

Sembra facile, ma non riesco a vederlo da solo. Aiuto molto apprezzato.

Ryan

È stato utile?

Soluzione

Per aggiungere o eliminare elementi, simplay imposta VirtualListSize sul conteggio totale degli elementi. Per aggiornare singoli elementi usa RedrawItems.

Per individuare un particolare elemento, utilizzare il contenitore che già si possiede, non tornare a ListView. Le indicazioni all'interno dell'elenco devono corrispondere agli elementi di ListView.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top