所以我已经查看了这个,并提出了一些我无法测试的解决方案。让我解释一下。
我试图弄清楚如何编写一个程序,我有一个图像数组,其中一次只显示一个图像,但相邻的图像是预加载但不可见。在每次轻弹之后,当前当前图像将其自身动画到可见区域,并且相邻图像被更新,但是在下一次向任一方向轻弹之前不可见。我只想要3个'盒子'(如果你愿意的话),包括左边的图像,屏幕上的当前图像和右边的图像。如果向右旋转,则当前图像变为左图像,右图像变为当前图像,下一图像被预加载但不可见。
示例:
您看到的第一张图片是加载应用的时间。它本质上是阵列中的第一个图像。叫它(图1)。
你不能向左滑动,因为没有图像。但是右侧的图像(尚未显示)已经预先加载并准备好在注册轻弹时滑动。 (图2)
因此,如果我们向右滑动,图像1位于现在可见且居中的图像2的左侧。图像3现在位于右侧,不可见但预装。图像1现在位于左侧,不可见但预装。
我现在只想预装2件事,所以你可以设想3个插槽。一个插槽是左图。一个插槽是当前视图,右侧是一个插槽。
我们的想法是能够有一个图像旋转木马,但只能将图像预加载到当前视图的左侧和右侧。
我看着可能正在做一个列表框。问题是,我只是无法用c#编码动画。
我不是想让你为我编码,而是指出我正确的方向。
答案 0 :(得分: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,如果您没有,只需创建一个新实例并将其添加到您的场景中。