我想使用ListBox作为包含多个项目的视图,当然,我需要在其中使用UI虚拟化。如何使用UI虚拟化与重新定义的列表框模板
问题是,当我宣布的ListBox这样的虚拟化只适用:
但是,如果我尝试定制它,它不会再虚拟化:
<ListBox
ItemsSource="{Binding ItemsSource}"
VirtualizingStackPanel.IsVirtualizing="True"
VirtualizingStackPanel.VirtualizationMode="Recycling">
<ListBox.Template>
<ControlTemplate>
<ScrollViewer>
<ItemsPresenter />
</ScrollViewer>
</ControlTemplate>
</ListBox.Template>
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<views:SiteEntryView />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
至于我我们发现,这个示例包含了与ListBox默认包含的相同的内容。但是虚拟化不起作用。我已经阅读了几篇文章,还有几条答案,但还是无法弄清楚“一般方法” - 我必须设置,绑定,添加等什么以及在哪里进行虚拟化,以便使用自定义模板工作?
我肯定都尝试,但现在我又试了一次,它的工作原理。 :\我不知道以前有什么错。 – yaapelsinko 2015-02-05 23:05:59