Tôi có ItemsControlmột danh sách chứa dữ liệu mà tôi muốn ảo hóa, tuy nhiên VirtualizingStackPanel.IsVirtualizing="True"dường như không hoạt động với một ItemsControl.
Đây thực sự là trường hợp hay có một cách khác để làm điều này mà tôi không nhận thức được?
Để kiểm tra tôi đã sử dụng khối mã sau:
<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>
Nếu tôi thay đổi ItemsControlthành a ListBox, tôi có thể thấy rằng Initializedsự kiện chỉ diễn ra trong một vài lần (lợi nhuận rất lớn chỉ vì vậy tôi chỉ phải trải qua một vài bản ghi), tuy nhiên vì ItemsControlmọi mục đều được khởi tạo.
Tôi đã thử cài đặt ItemsControlPanelTemplatethành một VirtualizingStackPanelnhưng điều đó dường như không có ích.