[英]C# XAML Metro Image dynamic Source
我喜歡使用XAML中的一個Image控件並在1秒的間隔內將Image
Source交換給另一個來做簡單的動畫。
但是當我這樣做時,圖像會閃爍。 我使用此代碼(在Tick
的事件處理程序Timer
):
Uri uri = new Uri("ms-appx:/Sprites/Running/" + y++ + ".png",
UriKind.RelativeOrAbsolute);
BitmapImage textureBitmap = new BitmapImage(uri);
this.ImageHolder.Source = textureBitmap;
問題出在哪里? 我應該緩存BitmapImages嗎?
謝謝您的幫助。
嘗試在您的xaml中聲明一個StoryBoard :
<Storyboard>
<ObjectAnimationUsingKeyFrames BeginTime="0:0:0"
Storyboard.TargetName="ImageHolder" Storyboard.TargetProperty="Source">
<DiscreteObjectKeyFrame KeyTime="0:0:0"
Value="{Binding Source={StaticResource Frame1Image}"/>
<DiscreteObjectKeyFrame KeyTime="0:0:1"
Value="{Binding Source={StaticResource Frame2Image}"/>
<DiscreteObjectKeyFrame KeyTime="0:0:2"
Value="{Binding Source={StaticResource Frame3Image}"/>
<!-- etc -->
</ObjectAnimationUsingKeyFrames>
</Storyboard>
因此,您必須將精靈添加到靜態資源中,然后運行StoryBoard。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.