簡體   English   中英

點擊時更改image.source

[英]change image.source when tapped

我是一個新手程序員,所以不要殘酷。 我正在為Windows Store開發游戲,並且想給運行周期設置動畫。 我制作了許多GIF動畫,但所有動畫都具有黑色背景,因此我需要透明。 因此,我決定使用DispatcherTimer進行運行。 一切正常,但是圖像沒有改變:/

void timer_Tick(object sender, object e)
    {
        numer++;
        if (numer > 8) numer = 1;
        hero.Source.Equals("Assets/Anim/" + nazwa + numer + ".png");

    } 

另外,當我拍拍另一張圖像時,它應該更改該圖像和其他圖像,但事實並非如此……這是怎么回事?

bool sun = true;

    private void Image_Tapped(object sender, TappedRoutedEventArgs e)
    {
        sun = !sun;
        if (sun == false)
        {
            Image1.Source.Equals("moon.png");
            Image2.Source.Equals("ON.png");
        }
        else
        {
            Image1.Source.Equals("sun.png");
            Image2.Source.Equals("OFF.png");
        }
    }

如圖所示,xaml可以正常工作。

我已經檢查了以下問題: Windows Phone 8上的ImageTools,更改了ImageSource和DataContext

但是我遇到了很多錯誤。 我似乎不了解該屬性如何更改。

這似乎是一個小錯誤。 您使用了錯誤的方法。

 Image.Source.Equals()

是一個布爾方法,僅將當前來源與您提供的“來源”進行比較,並根據比較結果返回true或false。 但是,您要設置圖像的來源。 因此,您需要使用:

 Image1.Source = new BitmapImage(new Uri("moon.png", UriKind.RelativeOrAbsolute));

這會將“圖像”的源設置為所需的新圖像。

假設“ moon.png”在您的解決方案的主文件夾中,則兩個解決方案都可以工作:

BitmapImage tn = new BitmapImage();
tn.SetSource(Application.GetResourceStream(new Uri(@"moon.png", UriKind.Relative)).Stream);
Image1.Source = tn;

要么

Image1.Source = new BitmapImage(new Uri("moon.png", UriKind.Relative));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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