我對Silverlight和RIA相當陌生。但是,我們正在開發一個使用WCF/RIA連接到我們的服務層的SL前端應用程序。我們正在使用mvvm模式,以便也可以使用這種模式。如何將業務層異常轉換爲SL4中的驗證錯誤?
我有一個特定的數據表單,我使用命令掛鉤數據表單的EditEnding事件。在EditEnding中,我打電話給我的服務來保存編輯的對象。該服務對該對象執行一些繁重的驗證,並且當前拋出異常,這些異常在我的視圖模型中陷入並用MessageBox顯示。
我想顯示這些異常作爲驗證錯誤,而不是顯示它們與messagebox。我見過一些關於SL4新INotifyDataErrorInfo的文章,也許這是一個解決方案;但我對於如何實際執行有些困惑。另一件事是,我得到的印象是INotifyDataErrorInfo被用來引起「即時」屬性驗證(一次一個屬性),而不是允許用戶在按下提交按鈕時驗證服務層中的整個對象。
由於我們的用戶和他們的高延遲問題,我的一個要求是該應用程序不要太瑣碎。所以,我不希望客戶端對數據表單中正在編輯的每個屬性的服務進行調用。
任何人都可以闡明我如何能做到這一點?
在此先感謝!
感謝您的回覆。有沒有辦法將這些異常添加到已經在數據表中顯示的驗證錯誤...驗證錯誤列表中? – RHarris 2010-07-01 12:50:46