定时器以wp7替换图像

时间:2012-11-09 16:38:20

标签: xaml windows-phone-7.1 windows-phone

在我的xaml文件中,我有两张图片:

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

我需要使用计时器来交替图像的可见性。 如何显示image1并隐藏image2 for 5 secondes,之后显示image2并隐藏image1 5秒钟?

2 个答案:

答案 0 :(得分: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;
        }

    }

答案 1 :(得分:0)

如果您不想使用XAML路线,只需使用Dispatch Timer即可实现。您只需每5分钟设置一次图像源,然后循环浏览每个Uri。