2011-07-19 37 views
1

關於您的書「使用Silverlight 4的專業商務應用程序」有些東西讓我感到煩瑣。我正在談論從後面的代碼中查詢結果。假設您使用WCF RIA Services,由於服務器和客戶端之間的異步機制,您總是得到Nothing。 我試圖使用BusyIndi​​cator控件像這樣(VB),但它不工作:我無法從Silverlight Bussiness應用程序中的代碼中查詢結果

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 

,直到服務器完成加載操作如何停止的計劃?

回答

1

您需要使用Load加載實體 - DomainContext類的方法。這個方法需要一個查詢來調用,並指定要加載的實體。 Load-Method返回一個LoadOperation的實例,您可以使用該實例來檢查實體的負載是否已經完成並訪問已加載的實體。

嘗試更新您的代碼如下:

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 
相關問題