0

私の xaml ファイルには、次の 2 つの画像があります。

<Grid x:Name="ImageGrid" >
  <Image  Source="Images/FlightSearchImg.png"></Image>
</Grid>
<Grid x:Name="ParisLive">
  <Image Source="Images/ServiceTileImg.png"></Image>
</Grid>

タイマーを使用して画像の表示を切り替える必要があります。image1 を表示して image2 を 5 秒間非表示にし、その後 image2 を表示して image1 を 5 秒間非表示にするにはどうすればよいですか?

4

2 に答える 2

1

タイマーを作成し、5000 ミリ秒に達したら画像を切り替えます。

変数を設定...

// Timer Stuff
    static Boolean stopped = true;
    static long dd = 0, hh = 0, mm = 0, ss = 0, ms = 0, gtdd = 0, gthh = 0, gtmm = 0, gtss = 0;
    static Stopwatch stopwatch = new Stopwatch();
    Timer timer;
    bool ShowImage1 = true;

準備ができたらタイマーを開始します。次に追加する updateDisplay 関数に注目してください。

stopwatch.Start();
timer = new Timer(new TimerCallback(updateDisplay), AdventureTimer, 0, 100);

updateDisplay 関数を作成します。ここでは、どの画像を表示するかを確認します。

public void updateDisplay(Object displayBlock)
    {
       if (stopwatch.ElapsedMilliseconds >= 5000) {
          Dispatcher.BeginInvoke(new Action(ToggleImage);
       }
    }

画像を切り替える関数を作成します。

public void ToggleImage()
    {
        stopwatch.Reset();
        if (ShowImage1 == true)
        {
            ImageGrid.Visibility = Visibility.Visible;
            ParisLive.Visibility = Visibility.Collapsed;
            ShowImage1 = false;
        }
        else
        {
            ImageGrid.Visibility = Visibility.Collapsed;
            ParisLive.Visibility = Visibility.Visible;
            ShowImage1 = true;
        }

    }
于 2012-11-11T01:37:55.463 に答える
0

XAML ルートに行きたくない場合は、Dispatch Timerを使用して簡単に実装できます。画像ソースを 5 分ごとに設定し、各 URI を循環させるだけです。

于 2012-11-10T05:11:22.877 に答える