2010-08-03 17 views
1

我有一個Silverlight 3應用程序需要顯示進度,只要頁面上有任何活動。我在頁面上有各種按鈕,一些下拉列表和其他UI元素,其中大部分都能夠提出請求。Silverlight頁面級活動檢測

//編輯

,因此註冊爲他們每個人的BusyIndi​​cator控件是什麼,我試圖避免。

BusyIndi​​cator控件應該基於頁面的任何異步調用自動工作。我試圖將BusyIndi​​cator控件聲明式綁定到頁面級別,而不更改代碼隱藏中的IsBusy屬性。 在代碼隱藏中設置IsBusy屬性是我試圖避免的。

簡單地說,無論何時從頁面發出請求,無論是否來自任何控件,BusyIndi​​cator都應通知用戶這種工作,並根據請求及其狀態顯示其自身(請求完成時隱藏自身) 。

在SL 3中實現上述是否可行?

任何建議,將不勝感激。

(術語請求,活動等廣義上使用,我只是打算用應用程序的名詞來表示它們,沒有專門的術語)。

謝謝&關心。

回答

0

我不完全確定你爲什麼認爲每個控件需要一個BusyIndi​​cator,爲什麼不把整個頁面放在一個BusyIndi​​cator中。通過這個單一的BusyIndi​​cator使所有的控件指示忙。

+0

感謝您的回覆。我是Silverlight 3的新手,因此無法掌握BusyIndi​​cator的全部功能。從BusyIndi​​cator的最初閱讀中我可以理解的是,它需要某種事件來激活它。雖然我的要求是跟蹤任何/所有事件。 無論我看到整個頁面是否可以用BusyIndi​​cator封裝,都不會。 感謝您的建議。 – Vaibhav 2010-08-03 14:32:12

+0

@Vaibhav:BusyIndi​​cator有一個IsBusy屬性,它不需要從事件中設置。您可以直接從代碼設置它,或者您可以將IsBusy綁定到[view]模型屬性。 – AnthonyWJones 2010-08-03 14:40:57

+0

感謝您的建議。然而,我的意圖是在XAML中聲明性地設置它,因此我們是否有任何特定的屬性可以指定IsBusy屬性?然後,它會自動跟蹤何時發出請求(不管哪個控件啓動它)並顯示其繁忙的用戶界面。 謝謝。 – Vaibhav 2010-08-04 05:05:19