Windows商店应用程序在ScrollViewer中自定义模板,而不会破坏UI虚拟化

时间:2013-09-27 06:01:56

标签: windows-store-apps ui-virtualization

我正在开发一个windows store metro风格应用程序,我在列表页面上实现了无休止的滚动GridView。

直到用户将“BACK”导航到包含大量记录的列表页面才有效。例如他们之前已滚动到第100页。

我目前有这样的代码

    <ScrollViewer>
      <StackPanel>
        <Rectangle Width="100"/> //could be anything
        <ItemsPresenter/>
      </StackPanel>
    </ScrollViewer>

并根据此article,上面的代码将禁用UI虚拟化

如果我将其更改为以下内容,它可以正常工作,但我在列表的开头丢失了填充。

    <ScrollViewer>
      <ItemsPresenter/>
    </ScrollViewer>

基本上我想在列表开始之前显示一些内容,它需要是可滚动视口的一部分,因此可以滚动它。

1 个答案:

答案 0 :(得分:0)

尝试向ItemsPresenter添加保证金:

左侧空间

<ItemsPresenter Margin="100,0,0,0"/>(虽然看起来你正在做顶级空间......)

<ItemsPresenter Margin="0,100,0,0"/>