C#から動的に次のようなことをしたい:
<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>
しかし、この XAML に相当する C# がわかりません。具体的には、C# から、Image オブジェクトに表示される画像を変更したいと考えています。
私はこれを試しました:
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();
「追加情報: 名前 'image' を解決するための適切な名前スコープが存在しません。」というエラーが表示されます。
コントロールの XAML では、x:name は「image」です。
<Image x:Name="image" ... />
私も試しました
Storyboard.SetTargetName(アニメーション、画像.名前);
同じエラーが発生しました。