WP7如何编写函数:绑定数据方法每隔10s调用一次?

时间:2013-03-23 08:08:30

标签: windows-phone-7

你能告诉我如何每隔10秒执行一次数据的方式或想法吗?

让我们看看下面的代码:

private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
{
       proxy.DanhSachPhongChoiCompleted += new 
          EventHandler<DanhSachPhongChoiCompletedEventArgs>(proxy_DanhSachPhongChoiCompleted);
       proxy.DanhSachPhongChoiAsync(); 
}  

void proxy_DanhSachPhongChoiCompleted(object sender, DanhSachPhongChoiCompletedEventArgs e)
{
      Room[] table = e.Result;
      listDSPhong.ItemsSource = e.Result;                
}

我们可以看到:在我的页面加载后,绑定数据将只执行一次。我需要每10秒调用2个方法。我应该怎么做?谢谢你教我!

proxy.DanhSachPhongChoiCompleted += new 
              EventHandler<DanhSachPhongChoiCompletedEventArgs>(proxy_DanhSachPhongChoiCompleted);
           proxy.DanhSachPhongChoiAsync();

2 个答案:

答案 0 :(得分:0)

您可以使用例如DispatcherTimer类。

以下是样本: https://stackoverflow.com/a/3266071/126995

您最好在NavigatedTo中启动计时器,并在NavigatedFrom中将其终止。

P.S。我怀疑你的代码中存在内存泄漏。请read this

答案 1 :(得分:0)

您可以使用Microsoft的反应库

http://msdn.microsoft.com/en-us/data/gg577609.aspx

并做这样的事情:

public void callfunction() 
    {
        IScheduler scheduler = NewThreadScheduler.Default;
        scheduler.Schedule(TimeSpan.FromSeconds(5), new Action<Action<TimeSpan>>(myRepeatingFunction));
    }

private void myRepeatingFunction(Action<TimeSpan> action)
    {
        //process here
        action(TimeSpan.FromSeconds(5)); // five second interval
    }