私はWindows 8の音楽アプリに取り組んでいます。現在の曲/アルバムの画像でページの背景を変更しています。イメージを変更しているときに、fadeIn/dafeOut アニメーションを追加したいのですが、どうすればそれができるのかわかりません。
<Grid x:Name="LayoutRoot" Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
<Grid.Resources>
<Storyboard x:Name="fadeOutStoryBoard">
<DoubleAnimation
Storyboard.TargetName="LayoutRoot"
Storyboard.TargetProperty="(LayoutRoot.Background).(ImageBrush.Opacity)"
From="1.0" To="0.0" Duration="0:0:10"/>
</Storyboard>
<Storyboard x:Name="fadeInStoryBoard">
<DoubleAnimation
Storyboard.TargetName="LayoutRoot"
Storyboard.TargetProperty="(LayoutRoot.Background).(ImageBrush.Opacity)"
From="0" To="1.0" Duration="0:0:10"/>
</Storyboard>
</Grid.Resources>
</Grid>
In C# code:
ImageBrush image = new ImageBrush();
image.ImageSource = new BitmapImage(imageUri);
fadeOutStoryBoard.Begin();
MainPage.Current.LayoutRoot.Background = image;
fadeInStoryBoard.Begin();
画像は正常に変化しますが、アニメーションが表示されません。TargetProperty を (LayoutRoot.Background).Opacity または (LayoutRoot.Background).(SolidColorBrush.Opacity) に変更しようとしましたが、うまくいきませんでした。TargetProperty を "Opacity" に設定すると、アニメーションは機能しますが、背景だけでなくページ全体に適用されます。