2

我正在创建一个 Windows 8 应用程序,我需要为按钮的位置设置动画。这些按钮是动态创建的,因此 XAML 不是一个选项。按钮的位置是根据厚度类型的 Margin 属性计算的。我发现 ThicknessAnimation 确实存在于 WPF 中,但不存在于 Windows 应用商店应用程序中。如何为动态创建的按钮位置设置动画?由于许多原因,我也不能使用 RenderTransform,因为我有太多的事件和属性,具体取决于对象的实际位置(边距)。我发现这个问题Windows 8 store app c# animating margin但不幸的是它已关闭。我一般都知道动画(创建故事板、添加动画、添加目标对象和属性、开始故事板)但我不知道

谢谢,

能。

4

1 回答 1

0

您可以处理CompositionTarget.Rendering事件,尽管您必须自己管理所有定位数学,这在许多对象的情况下可能很困难 - 这只是一个示例,看起来有点奇怪但有效:

public MainPage()
{
    this.InitializeComponent();
    CompositionTarget.Rendering += OnCompositionTargetRendering;
}

private void OnCompositionTargetRendering(object sender, object e)
{
    RenderingEventArgs args = e as RenderingEventArgs;
    double t = (args.RenderingTime.TotalMilliseconds) % 20;
    button1.Margin = new Thickness(t);
}
于 2013-06-13T18:08:57.910 回答