c# - 如何在 Windows 应用商店应用程序中为按钮位置(边距)设置动画?

标签 c# animation windows-runtime windows-store-apps

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

谢谢,

可以。

最佳答案

您可以处理 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);
}

关于c# - 如何在 Windows 应用商店应用程序中为按钮位置(边距)设置动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17091017/

相关文章:

c# - 如何在 ObservableCollection 上引发 CollectionChanged 事件,并将更改的项目传递给它?

javascript - jQuery动画div在动画完成后继续移动

c# - 在哪里可以知道 Windows 8 Metro 背景画笔的 key ?

c# - Windows Phone 8.1 (WinRT) : Custom Looping Selector

.net - Windows体系结构中的CLR,Win32,WinRT

c# - 如何在 C# 中使用 Selenium 验证是否显示了警报消息?

c# - 解析 .NET 中类似内容的简单正则表达式问题?

c# - 如何在 ASP.NET 中动态更改按钮文本

android - 尝试从此处在 android 中实现页面 curl 示例

css - 翻转图形时删除子 img 标签