我正在创建一个Windows 8应用程序,我需要设置按钮位置的动画。按钮是动态创建的,因此XAML不是一个选项。按钮的位置根据Margin属性计算,该属性为Thickness类型。我发现ThicknessAnimation确实存在于WPF中,但不存在于Windows应用商店应用中。如何为动态创建的按钮的位置设置动画?由于很多原因,我也不能使用RenderTransform,因为我有太多的事件和属性,具体取决于对象的实际位置(Margin)。我发现了这个问题Windows 8 store app c# animating margin但不幸的是它被关闭了。我一般都知道动画(创建故事板,添加动画,添加目标对象和属性,开始故事板)但我不知道如何将它应用于厚度属性。
谢谢,
可以。
答案 0 :(得分: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);
}