Como você pode usar ObjectAnimationUsingKeyFrames de c # puro?

Eu quero dinamicamente, a partir de c #, fazer algo assim:

<ObjectAnimationUsingKeyFrames BeginTime="00:00:00"
                               Storyboard.TargetName="image"
                               Storyboard.TargetProperty="(Image.Source)">
  <DiscreteObjectKeyFrame KeyTime="00:00:00.7000000">
    <DiscreteObjectKeyFrame.Value>
      <BitmapImage UriSource="check_24.png" />
    </DiscreteObjectKeyFrame.Value>
  </DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>

mas não consigo descobrir o equivalente em C # a este XAML. Especificamente, eu quero, de c #, alterar a imagem exibida em um objeto de imagem.

Eu tentei isso:

        ObjectAnimationUsingKeyFrames animation = new ObjectAnimationUsingKeyFrames();
        animation.BeginTime = TimeSpan.FromSeconds(0);
        Storyboard.SetTargetName(animation, "image");
        Storyboard.SetTargetProperty(animation, new PropertyPath("(Image.Source)"));
        DiscreteObjectKeyFrame keyFrame = new DiscreteObjectKeyFrame(BitmapFrame.Create(uri), TimeSpan.FromSeconds(0.7));
        animation.KeyFrames.Add(keyFrame);
        myStoryboard.Children.Add(animation);
        myStoryboard.Begin();

e recebo o erro "Informações adicionais: Nenhum escopo de nome aplicável existe para resolver o nome 'image'."

No meu XAML para os controles, o x: name é "imagem"

<Image x:Name="image" ... />

Eu também tentei

Storyboard.SetTargetName (animação, image.Name);

e recebi o mesmo erro.

questionAnswers(1)

yourAnswerToTheQuestion