1

因此,我对此进行了研究,并提出了一些我还无法测试的解决方案。让我解释。

我试图弄清楚如何编写一个程序,其中我有一组图像,一次只显示一个图像,但相邻的图像已预加载但不可见。每次轻弹后,现在的当前图像会自动移动到可见区域,并且相邻图像会更新,但直到下一次在任一方向上轻弹时才可见。我只想要 3 个“框”(如果你愿意的话),包括左侧的图像、屏幕上的当前图像和右侧的图像。如果向右旋转,则当前图像变为左侧图像,右侧图像变为当前图像,并且下一个图像已预加载但不可见。

例子:

您看到的第一张图片是加载应用程序时的图像。它本质上是数组中的第一个图像。称之为(图1)。

您不能向左滑动,因为那里没有图像。但是它右侧的图像(尚不可见)已经预加载并准备好在注册轻弹时滑动。(图2)

因此,如果我们向右滑动,图像 1 位于现在可见且居中的图像 2 的左侧。图像 3 现在位于右侧,不可见但已预加载。图像 1 现在位于左侧,不可见,但已预加载。

我现在只想预装 2 个东西,所以你可以想象 3 个插槽。一个插槽是左图。一个槽位是当前视图,一个槽位在右侧。

这个想法是能够拥有图像轮播,但只能将图像预加载到当前视图的左侧和右侧。

我看着可能做一个列表框。问题是,我无法用 c# 编写动画。

我不希望你为我编写代码,而是为我指明正确的方向。

4

1 回答 1

4

您可以为此使用 Pivot 控件,它的工作方式与您想要的完全一样,只是它确实循环到列表的开头。

您可以即时创建动态枢轴项目,我已经完成了此操作,并且可以正常工作。

编辑

一些示例代码:

PivotItem p = new PivotItem();
Image i = new Image();
i.Source = new BitmapImage(new Uri("/image.jpg", UriKind.Relative));
p.Content = i;
MainPivot.Items.Add(p);

假设MainPivot您的视图中是您的 Pivot,如果您没有,只需创建一个的新实例并将其添加到您的场景中。

于 2011-05-26T01:58:30.323 回答