我想在Windows 8.1中创建以下类型的动画。我有一个按钮,其内容是图像。我想改变按钮的图像,当我这样做时,我希望旧图像从按钮向右缓慢滑出视图,同时新图像从左侧滑入,直到它完全取代旧图像。 我想有C#代码(不是XAML)来执行这样的任务。我在代码中需要这个的原因是因为按钮是动态创建的(实际上我有多个动态创建的按钮)
答案 0 :(得分:0)
最好的方法是将Button
控件子类化为一个具有两个内容演示者模板的控件,以便在内容更改和运行动画时可以在这些控制器之间切换。否则,您可以通过在Images
中Panel
(例如Grid
)中托管Button
以及每次要更改图像时使用代码来执行此操作 - 设置未使用的Source
的{{1}}并运行动画。您还需要替换动画目标,除非您成功将助手Image
的{{1}}无条件地设置为旧位图,并将持久Source
的{{1}}设置为新位图。这可能也有效。您可以将Image
用于每个Source
控件的Image
,并创建定位转换的TranslateTransform
。此外,您还希望将父RenderTransform
的{{1}}设置为Image
,将动画Storyboards
剪切为Clip
的边界或Panel
本身。