增量加载的可变大小的项目

时间:2013-12-10 22:15:00

标签: c# xaml windows-store-apps windows-8.1

所以我有一个项目源,通过IncrementalLoader滚动到我的GridView边缘时会自动更新。我想要做的是使它们具有不同的尺寸。例如1个大项目2x2,然后4个小项目1x1,依此类推。

我学习了如何使用自定义ColSpan和RowSpan为每个项目创建自己的VariableSizedWrapGrid。

问题是:VariableSizedWrapGrid需要已加载的静态项。所以我不能同时使用......

任何解决方案如何使它们同时工作?

1 个答案:

答案 0 :(得分:0)

我设法自己解决了。我将本教程用于可变大小的项目: http://blog.jerrynixon.com/2012/08/windows-8-beauty-tip-using.html

然后我摆脱了IncrementalLoader。相反,我编辑了GridView模板的副本,然后编辑了ScrollViewer模板(使用Blend)。这使我可以访问ScrollViewer中使用的ScrollBars。

我需要做的就是向ScrollBar添加一个事件:

ValueChanged="HorizontalScrollBar_ValueChanged" 

然后功能如下:

private void HorizontalScrollBar_ValueChanged(object sender, RangeBaseValueChangedEventArgs e)
{
        ScrollBar sb = (ScrollBar)sender;

        if (sb.Maximum == e.NewValue)
        {
            //Scroll is at end
            //Add items here
        }
}