我有一个带有一些用户卡的WPF ListBox
当创建其中一个用户卡时(在理想情况下,当前用户从网络接收到它的好友列表时),它会向用户的信息发出网络请求。
当我在ListBox中滚动时,等待几秒钟,然后向后滚动,用户卡具有默认状态
在调试时,我注意到它们被卸载并重新创建。
如何阻止ListBox虚拟化这样的项目?
代码:
<ListBox x:Name="friend_list" Background="{x:Null}" BorderBrush="{x:Null}">
<ListBox.ItemTemplate>
<DataTemplate DataType="data:User">
<stuff:UserCard UserID="{Binding Path=UserID}" HorizontalAlignment="Stretch" Margin="0,0,0,0" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
答案 0 :(得分:8)
在ListBox
上将VirtualizingStackPanel.IsVirtualizing
设为false,或将StackPanel
设置为ListBox.ItemsPanel
。