Tag: 虚拟化项目

虚拟化一个ItemsControl?

我有一个ItemsControl包含我想虚拟化的数据列表,但是VirtualizingStackPanel.IsVirtualizing="True"似乎不能用于ItemsControl 。 这是真的,还是有另一种做法,我不知道? 为了testing我一直在使用下面的代码块: <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更改为一个ListBox ,我可以看到Initialized事件只运行几次(巨大的余量只是我只需要通过几条logging),但是作为一个ItemsControl每个项目都被初始化。 我已经尝试将ItemsControlPanelTemplate设置为VirtualizingStackPanel但似乎没有帮助。