2010-04-14 51 views
1

我在窗口中有几个网格。我创建了一个故事板,当单击一个按钮时,它将它们左移x像素。我想要这样做,以便当再次单击该按钮时,这些网格会移动另一个x像素,但是我无法找到如何执行此操作,因为它不是教程中的常见任务。如何触发WPF中故事板的特定部分?

我已经尝试创建第二个故事板来做到这一点,但是这不会工作,然后网格将回到他们的起始位置。

一种解决方案可能是在前两组之后创建第三组关键帧,并以某种方式在动画到达时暂停动​​画,并在按钮被单击后再次恢复动画,但我不确定如何暂停一个故事板到达关键帧时。这也会使网格难以逆转(使用这种方法http://social.msdn.microsoft.com/forums/en-US/wpf/thread/ac54de71-f750-4940-91a2-231810308727/),因为我想制作另一个按钮使网格走向另一个方向。

+0

你需要指定一个相对变换。不知道你会怎么做,但。 – ChrisF 2010-04-14 12:22:43

+0

我无法在互联网上找到有关相关转换的任何信息。我目前试图做的是尝试手动编写一个故事板来移动剩下的所有元素,然后我将创建另一个用于向右移动并自己调用它们。 这仍然是相当混乱... – George 2010-04-14 13:36:31

回答

0

我认为这个问题在WPF中的答案是,你不能。 WPF(AFAIK)不允许你重复TranslateTransform对象。你需要跟踪它的位置,并管理每个杂乱的位置。

我发现这种控制这正是我一直在寻找:http://bot.codeplex.com/(赞普滚动条)