TreeView tidak memiliki metode ScrollIntoView()
Satu-satunya cara adalah memanggil TreeVewItem.BringIntoView()
untuk penampung item data terkait.
Namun jika simpul tidak terlihat dan belum ada penampung yang dibuat, ItemsControl.ItemContainerGenerator.ContainerFromItem()
akan mengembalikan null
.
Jadi harus ada cara untuk memaksa ItemContainerGenerator membuat wadah untuk item tersebut.
Pertanyaan yang masuk akal adalah: Bagaimana cara node diperluas dan tetap tidak terlihat?!
Mudah! IsExpanded
terikat pada properti VM. Dan virtualisasi UI berfungsi seperti yang diharapkan:
Pengendali peristiwa untuk TreeViewItem.Expanded dipanggil hanya ketika pengguliran manual ke item telah selesai.