更改页面背景时图像更改很可怕
本文关键字:图像 很可怕 背景 | 更新日期: 2023-09-27 18:35:56
>我的项目中有一个页面,当用户触摸屏幕时,此页面会将我的资产中的背景属性更改为随机图像,但是当更改时,页面背景会在更改为黑色或白色之前 0.05 秒更改为我的图像。太丑了。
这是我在cs文件中的代码
private void LayoutRoot_ManipulationCompleted(object sender, ManipulationCompletedRoutedEventArgs e)
{
Random ran = new Random();
randomPage.Background = new ImageBrush
{
ImageSource =
new BitmapImage { UriSource = new Uri("ms-appx:///Assets/Backgrounds/" + ran.Next(22) + ".jpg") }
};
e.Handled = true;
}
我该怎么做才能更改图像页面背景平滑?
尝试改用StoryBoard
动画。
为Image
设置动画的示例代码
<Image Stretch="Uniform" Name="myImage" Source="/Images/w1.png" />
<Storyboard x:Name="Storyboard1">
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Image.Source)" Storyboard.TargetName="myImage" RepeatBehavior="Forever">
<DiscreteObjectKeyFrame KeyTime="0" Value="="/Images/w1.png"></DiscreteObjectKeyFrame>
<DiscreteObjectKeyFrame KeyTime="0:0:1" Value="="/Images/w2.png"></DiscreteObjectKeyFrame>
<DiscreteObjectKeyFrame KeyTime="0:0:2" Value="="/Images/w3.png"></DiscreteObjectKeyFrame>
<DiscreteObjectKeyFrame KeyTime="0:0:3" Value="="/Images/w4.png"></DiscreteObjectKeyFrame>
<DiscreteObjectKeyFrame KeyTime="0:0:4" Value="="/Images/w5.png"></DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
Storyboard1.Begin();
在您的情况下,您可能希望在代码隐藏中创建StoryBoard
并设置随机属性。 您甚至可以将动画从一帧"缓和"到另一帧,从而使显示更加平滑。