簡體   English   中英

C#XAML Metro圖像動態源

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM