WPFはかなり新しいですが、オフィスの受付で人々の注目を集めるためにSurfaceアプリを作成しました。
私がやりたいのは、人々がしばらく画面に触れていない場合(私はすでにこれをタイマーで記録しています)、アプリ内の各オブジェクトを1つずつ「Throb」にして取得したいです。人々の注目。
トランスフォームまたはストーリーボードを使用しますか?
WPFはかなり新しいですが、オフィスの受付で人々の注目を集めるためにSurfaceアプリを作成しました。
私がやりたいのは、人々がしばらく画面に触れていない場合(私はすでにこれをタイマーで記録しています)、アプリ内の各オブジェクトを1つずつ「Throb」にして取得したいです。人々の注目。
トランスフォームまたはストーリーボードを使用しますか?
タイマーで次のメソッドを呼び出すことになりました。
void RunScaleAnimation(FrameworkElement e)
{
var storyboard = new Storyboard();
var easeOut = new BackEase { EasingMode = EasingMode.EaseOut, Amplitude = 0.3 };
double startHeight = e.ActualHeight;
double startWidth = e.ActualWidth;
var growAnimationHOut = new DoubleAnimation(startHeight, startHeight * 1.05,
TimeSpan.FromMilliseconds(100)) { AutoReverse = true };
var growAnimationWOut = new DoubleAnimation(startWidth, startWidth * 1.05,
TimeSpan.FromMilliseconds(100)) { AutoReverse = true };
growAnimationHOut.EasingFunction = easeOut;
growAnimationWOut.EasingFunction = easeOut;
storyboard.Children.Add(growAnimationHOut);
storyboard.Children.Add(growAnimationWOut);
Storyboard.SetTargetProperty(growAnimationWOut, new PropertyPath(FrameworkElement.WidthProperty));
Storyboard.SetTargetProperty(growAnimationHOut, new PropertyPath(FrameworkElement.HeightProperty));
e.BeginStoryboard(storyboard);
}