ฉันมีItemsControl
รายการข้อมูลที่ฉันต้องการจำลองเสมือนจริง แต่VirtualizingStackPanel.IsVirtualizing="True"
ดูเหมือนจะใช้กับItemsControl
ไฟล์.
เป็นเช่นนั้นจริงหรือมีวิธีอื่นในการทำเช่นนี้ที่ฉันไม่ทราบ?
ในการทดสอบฉันใช้บล็อกโค้ดต่อไปนี้:
<ItemsControl ItemsSource="{Binding Path=AccountViews.Tables[0]}"
VirtualizingStackPanel.IsVirtualizing="True">
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock Initialized="TextBlock_Initialized"
Margin="5,50,5,50" Text="{Binding Path=Name}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
ถ้าฉันเปลี่ยนItemsControl
เป็น a ListBox
ฉันจะเห็นว่าInitialized
เหตุการณ์นั้นดำเนินไปเพียงไม่กี่ครั้งเท่านั้น (ระยะขอบใหญ่มากดังนั้นฉันจึงต้องผ่านบันทึกไม่กี่รายการ) อย่างไรก็ตามเมื่อItemsControl
ทุกรายการเริ่มต้น
ฉันได้ลองตั้งค่าItemsControlPanelTemplate
เป็น a แล้วVirtualizingStackPanel
แต่ดูเหมือนจะไม่ช่วยอะไร