Silverlight 3DRotate + Drag

时间:2009-11-20 02:54:40

标签: silverlight silverlight-3.0

我正在尝试在与此类似的UIelement上实现拖动和旋转(从左到右或从右到左):

http://www.motorola.com/Consumers/US-EN/Consumer-Product-and-Services/Mobile-Phones/Motorola-Karma-QA1-US-EN

因此,当用户按住UIelement上的鼠标左键并开始向左移动鼠标时,我希望UIelment向左旋转。反之亦然,如果向右移动。我不知道该怎么做。有什么建议吗?

2 个答案:

答案 0 :(得分:0)

我看了一下你链接到的Flash应用程序,我很确定它不是真的3D。它是一系列静止图像,可在您移动鼠标时进行切换。

答案 1 :(得分:0)

一种方法是在旋转物体时拍摄一系列物体的真实照片。

现在你可以将所有这些照片(都是相同尺寸)拼接在一起,然后将它们作为单独的文件保存。

在XAML中,密钥启用控制是ScrollContentPresenter。在其中您可以将单个拼接的照片加载到单个Image控件中,或者将一组照片加载到Image中保存的一系列StackPanel控件中。 / p>

您可以确保ScrollContentPresenter与单张图片具有相同的特定尺寸。

然后挂钩鼠标事件,当用户按下左按钮移动鼠标时,你会修改ScrollContentPresenter的{​​{1}}(假设您的拼接或堆叠面板是水平的)的确切宽度图像。

如果有足够的图像(您的示例链接使用36,每10度一个),结果就是一个明显的360度3D图像。在照片中使用一小部分聚光灯,结果相当引人注目。