2012-11-02 11 views
1

我有一個使用WPF的小型.NET 4程序,它大量使用ADO.NET。我現在不得不重構代碼以將SQL數據訪問/處理從「主窗口」WPF窗口中分離出來。目前,DataSet構建代碼中有很多數據完整性檢查,可能會引發不少模態警告對話框(如使用MessageBox.Show())。我想在這裏「做正確的事情」,並將數據處理從窗口顯示中分離出來。 (或者,從一個純粹的「數字處理類」中彈出模態對話框並不那麼糟糕)我應該怎麼做?任何指向文章/概念的指針將不勝感激 - 謝謝。從數據類中分離WPF對話框

+0

這可能是我的觀點,但我的感覺是,普遍的共識是圖書館,幫助者類和「數據模型」決不應該產生模態對話...或任何視覺文物。只有顯示代碼應該這樣做。所以,恕我直言,你是在正確的軌道上。非UI代碼應該生成異常,顯示代碼應該捕捉並轉換爲對話調用。 – ianschol

回答

1

您正在使用數據對象還是僅使用數據集?如果您使用的是數據對象,請使用IDataErrorInfo來實現驗證,然後在您的WPF控件中啓用驗證,而不是彈出消息框。這裏有一篇關於數據集和驗證的好文章 - Displaying Data Validation Messages in WPF

+0

感謝您的信息。我想我沒有解釋得很清楚。我需要進行的「驗證」需要對現有表格進行復雜的計算 - 而不是用戶可能在電腦上鍵入的內容,所以我不能只在表格單元格創建時進行檢查。在做了一些更多的研究之後,我真的可能需要的是一個MVVM設置。 – Conrad

+0

這是我提出的一個特例。通過實現MVVM解決方案,您將從使用數據集轉向使用實際數據對象,然後您可以將驗證代碼添加到該數據對象中。 – hashlock