Tôi có ItemsControl
mộ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 ItemsControl
thành a ListBox
, tôi có thể thấy rằng Initialized
sự 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ì ItemsControl
mọi mục đều được khởi tạo.
Tôi đã thử cài đặt ItemsControlPanelTemplate
thành một VirtualizingStackPanel
nhưng điều đó dường như không có ích.