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.