Jak można użyć ObjectAnimationUsingKeyFrames z czystego C #?

Chcę dynamicznie, z C #, zrobić coś takiego:

<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>

ale nie mogę znaleźć odpowiednika C # tego XAML. W szczególności chcę od C # zmienić obraz wyświetlany w obiekcie Image.

Próbowałem tego:

        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();

i pojawia się błąd „Informacje dodatkowe: nie istnieje zakres nazw mających zastosowanie do rozwiązania nazwy„ obraz ”.”

W moim XAMLu dla kontrolek nazwa x: to „obraz”

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

Próbowałem też

Storyboard.SetTargetName (animacja, image.Name);

i dostał ten sam błąd.

questionAnswers(1)

yourAnswerToTheQuestion