Создайте анимацию Blink в WPF в коде позади

Я хочу применить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 но я не мог понять это правильно.

Ответы на вопрос(2)

Ваш ответ на вопрос