在Windows 8中以C#为Button内容滑动动画

时间:2014-07-29 16:25:21

标签: animation windows-8 windows-runtime winrt-xaml slide

我想在Windows 8.1中创建以下类型的动画。我有一个按钮,其内容是图像。我想改变按钮的图像,当我这样做时,我希望旧图像从按钮向右缓慢滑出视图,同时新图像从左侧滑入,直到它完全取代旧图像。  我想有C#代码(不是XAML)来执行这样的任务。我在代码中需要这个的原因是因为按钮是动态创建的(实际上我有多个动态创建的按钮)

1 个答案:

答案 0 :(得分:0)

最好的方法是将Button控件子类化为一个具有两个内容演示者模板的控件,以便在内容更改和运行动画时可以在这些控制器之间切换。否则,您可以通过在ImagesPanel(例如Grid)中托管Button以及每次要更改图像时使用代码来执行此操作 - 设置未使用的Source的{​​{1}}并运行动画。您还需要替换动画目标,除非您成功将助手Image的{​​{1}}无条件地设置为旧位图,并将持久Source的{​​{1}}设置为新位图。这可能也有效。您可以将Image用于每个Source控件的Image,并创建定位转换的TranslateTransform。此外,您还希望将父RenderTransform的{​​{1}}设置为Image,将动画Storyboards剪切为Clip的边界或Panel本身。