2011-05-26 85 views
1

所以我看了这个,并想出了一些我无法测试的解决方案。让我解释。在滑动手机7滑动图像滑动或轻弹

我想弄清楚如何编写一个程序,我有一个图像数组,其中一次只显示一个图像,但是相邻图像被预加载但不可见。在每次轻弹之后,当前的图像将其自身移动到可见区域,并且相邻的图像被更新,但在两个方向中的下一个轻弹之前都不可见。我只想要3个“盒子”(如果你愿意的话),包括左边的图像,屏幕上的当前图像和右边的图像。如果向右旋转,则当前图像变为左侧图像,右侧图像变为当前图像,下一个图像被预加载但不可见。

示例:

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

你不能轻弹到左边,因为没有图像。但是右侧的图像(不可见)已经预加载,并且在轻弹注册时可以滑动。 (image 2)

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

我只想现在预先加载2件东西,所以你可以想象3个插槽。一个插槽是左侧的图片。一个插槽是当前视图,右侧是一个插槽。

这个想法是能够有一个图像传送带,但只能将图像预加载到当前视图的左侧和右侧。

我看着可能做一个列表框。问题是,我不能在c#中编写动画代码。

我不想让你为我编码,而是指向正确的方向。

+1

列表框的问题是什么?我之前使用过一个列表框来达到这个目的,并且没有问题。马克对Pivot的建议是没问题的,只是pivot本身有一个标题,所以你必须做一些额外的工作才能摆脱它。 – Mac 2011-05-26 04:09:46

+1

实际上,您可以将空字符串绑定到标题并将其消除,这是我必须摆脱的第一件事,但它很简单。 – Mark 2011-05-26 22:33:39

回答

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是在你看来你的支点,如果你没有一个,只需创建一个新实例,并将其添加到场景。

+0

谢谢你们的精彩建议。我曾将Pivot混淆为与市场应用程序类似,在这种应用程序中可以轻松地打开不同的屏幕以创建新的屏幕。 – topcoderwannabe 2011-05-27 06:11:13

+0

@Mark你能提供一个你的答案的示例代码? – Shan 2012-09-13 07:26:02

+0

是的,这有点不完整。 – 2013-06-20 04:10:39