你能告诉我如何每隔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();
答案 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
}