Windows phone 7 当样式控制ListBox的模板时,如何保持虚拟化?
我了解到,如果样式设置不正确,Windows phone 7 当样式控制ListBox的模板时,如何保持虚拟化?,windows-phone-7,listbox,scrollviewer,virtualizingstackpanel,itemspresenter,Windows Phone 7,Listbox,Scrollviewer,Virtualizingstackpanel,Itemspresenter,我了解到,如果样式设置不正确,ListBox将失去其虚拟化功能。正如他所说,他的解决方案是可行的 我意识到,每当我将ItemsPresenter放入另一个容器时,例如网格,边框 <ControlTemplate TargetType="ListBox"> <ScrollViewer x:Name="ScrollViewer" BorderBrush="{Template
ListBox
将失去其虚拟化功能。正如他所说,他的解决方案是可行的
我意识到,每当我将ItemsPresenter放入另一个容器时,例如网格
,边框
<ControlTemplate TargetType="ListBox">
<ScrollViewer x:Name="ScrollViewer"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Background="{TemplateBinding Background}"
Foreground="{TemplateBinding Foreground}"
Padding="{TemplateBinding Padding}">
<StackPanel>
<TextBlock Text="{TemplateBinding MyText}" />
<ItemsPresenter/>
</StackPanel>
</ScrollViewer>
</ControlTemplate>
ListBox
将立即失去其虚拟化功能。但是我确实想在ItemsPresenter
之前放置一个TextBlock
,并且ScrollViewer只接受一个子元素
如何应对
更新:
我看到了这一点,德里克·拉金所做的就是将TextBlock
放在ScrollViewer
模板中,但是如何将TextBlock
放在ScrollContentPresenter
中呢
p/S:我确实为我的
列表框设置了virtualizangstackpanel
作为ItemsPanel
,您正在为列表框创建一个itemtemplate,但是itemspresenter作为scrollviewer的直接子项非常重要。
有关如何为列表框设置模板的更多信息,请查看。我也觉得很有帮助
如果itempresenter不能是直接子项,则必须为ItemsPresenter提供名称ItemsPresenter。你说得对。我遵循您的观点,但当我设置但它不起作用时是的,这是XAML,这是代码您关于命名项目的建议Presenter可能对海报没有帮助,但对我有帮助,所以谢谢,谢谢!!!在命名之前,我无法让虚拟化ItemsControl正常工作,即使我的ControlTemplate是最基本的格式。命名ItemsPresenter后,它就像一个符咒!