事件应该只在最后一次轻弹中发生

时间:2012-07-05 05:50:42

标签: windows-phone-7 silverlight-4.0 windows-phone-7.1

我正在使用具有10个低质量图像的堆叠面板的滚动查看器。当图像移动到下一个图像时轻弹,并在该视图中加载所查看图像的高分辨率图像。问题是当连续轻弹6次时,滚动移动6次并且添加高分辨率的方法发生6次并将图像加载到视图中。我需要一个想法,等待完成的轻弹几秒钟,并执行一次高分辨率添加图像方法。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

您可以使用计时器延迟加载高分辨率图像。 代码可能如下所示:


DispatcherTimer timer = new DispatcherTimer();

public MainPage()
{
    InitializeComponent();

    timer.Interval = TimeSpan.FromSeconds(1); //You can adjust the delay suitable to your needs
    timer.Tick += new EventHandler(timer_Tick);
}

void handle_Flick(object sender, GestureEventArgs args)
{
   //If timer is not running, start the timer 
   //and do everything else other than loading high-resolution image.
   if(timer.IsEnabled != true)
   {
      //start the timer
      timer.Start();
   }
}

void timer_Tick(object sender, EventArgs e)
{
    //Stop the timer
    timer.Stop();

    //Load the high resolution image
}