0

你能告诉我如何每 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();
4

2 回答 2

0

您可以使用例如 DispatcherTimer 类。

这是示例: https ://stackoverflow.com/a/3266071/126995

你最好在 NavigatedTo 中启动你的计时器,然后在 NavigatedFrom 中终止它。

PS 我怀疑您的代码中存在内存泄漏。请阅读此

于 2013-03-25T02:06:09.117 回答
0

你可以使用微软的响应式库

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
    }
于 2013-03-25T02:53:19.880 回答