关于你的书“使用Silverlight 4的专业商务应用程序”,有些东西让我很累。我正在谈论从代码中获取查询结果。假设您正在使用WCF RIA服务,由于服务器和客户端之间的异步机制,您总是得不到任何结果。我试过使用这样的BusyIndicator(VB),但它不起作用:
dim ctx as new DomainService1
dim query= from p As Entity1 In Ctx.GetQueryEntity1Query select p
If ctx.IsLoading = True Then
BusyIndicator1.IsBusy = True
Else
BusyIndicator1.IsBusy = False
End If
如何在服务器完成加载操作之前停止程序?
您需要使用DomainContext类的Load-Method加载实体。此方法需要调用查询并指定要加载的实体。 Load-Method返回LoadOperation的一个实例,您可以使用它来检查实体的负载是否已经为finshed并访问已加载的实体。
尝试更新您的代码如下:
dim ctx as new DomainService1
dim query= ctx.GetQueryEntity1Query
dim loadOperation = ctx.Load(query)
loadOperation.Completed += LoadCompleted
BusyIndicator1.IsBusy = True
Private Sub LoadCompleted(sender as object, e as EventArgs)
BusyIndicator1.IsBusy = False
end Sub