WPF沿路径轻弹(Surface)

时间:2009-10-05 11:26:42

标签: wpf pixelsense scatterview

我正在为Microsoft Surface开发一个应用程序,我试图充分利用那里的库,如果能够轻弹UI元素,我可以使用的功能。

ScatterView控件使这很容易,但我想限制UI元素只能沿着设置路径轻弹。这就是我遇到麻烦的地方。

所以我的问题是:

1)您是否可以将ScatterViewItem限制为仅沿路径轻弹?

2)如果没有,您将如何实现轻弹手势以沿设定路径轻弹UI元素?

谢谢!

标记

1 个答案:

答案 0 :(得分:3)

1)不是我所知道的,这可能不是接近它的最好方法。

2)假设你有想要弹出的对象和设计时的路径,我之前已经通过创建表示整个路径移动的时间轴动画实现了沿路径的拖动和轻弹。在运行时,我捕获该对象上的联系人,将它们提供给Affine2DManipulationProcessor,并根据操作事件搜索动画。

所以在我的情况下,我正在创建一个抽屉。当用户触摸抽屉时,我启动动画并立即暂停。如果用户拖动它,我会根据操纵处理器告诉我他们移动的距离,向动画寻找适当的数量。

要获得轻弹行为,您只需将操作移交给Affine2DInertiaProcessor并继续处理delta事件。

这一切都运作得非常好。