TreeView ไม่มีวิธี ScrollIntoView()
วิธีเดียวคือการเรียก TreeVewItem.BringIntoView()
สำหรับคอนเทนเนอร์รายการข้อมูลที่เกี่ยวข้อง
แต่ถ้ามองไม่เห็นโหนดและยังไม่มีการสร้างคอนเทนเนอร์ ItemsControl.ItemContainerGenerator.ContainerFromItem()
จะส่งกลับ null
ดังนั้นจึงควรมีวิธีบังคับให้ ItemContainerGenerator สร้างคอนเทนเนอร์สำหรับไอเท็ม
คำถามที่สมเหตุสมผลคือ: โหนดจะขยายและมองไม่เห็นได้อย่างไร
ง่าย! IsExpanded
เชื่อมโยงกับคุณสมบัติของ VM และการจำลองเสมือนของ UI ทำงานตามที่คาดไว้:
เหตุการณ์ hanlder สำหรับ TreeViewItem.Expanded ถูกเรียกเมื่อดำเนินการเลื่อนไปยังรายการด้วยตนเอง