Я хочу применить анимацию Blink
к Canvas
, чтобы все объекты, которые я нарисовал на ней, мигали вместе с ней.
Я несколько преуспел, используя приведенный ниже код, который довольно быстро изменяет свойство Opacity
для Canvas
для достижения этого эффекта, но я не удовлетворен этим.
Я бы предпочел чистое мерцание без каких-либо FadeOut/FadeIn
, как в моем текущем коде. Как я могу сделать это правильно?
var blinkAnimation = new DoubleAnimation
{
From = 1,
To = 0
};
var blinkStoryboard = new Storyboard
{
Duration = TimeSpan.FromMilliseconds(500),
RepeatBehavior = RepeatBehavior.Forever,
AutoReverse = true
};
Storyboard.SetTarget(blinkAnimation, MyCanvas);
Storyboard.SetTargetProperty(blinkAnimation, new PropertyPath(OpacityProperty));
blinkStoryboard.Children.Add(blinkAnimation);
MyCanvas.BeginStoryboard(blinkStoryboard);
Может быть, я могу сделать это с помощью VisibilityProperty
, но у меня не получилось.