0
我有一個使用MVVM模型的WPF應用程序。此外,我們確實需要使用ShowDialog()在Dialog()中顯示一些數據。爲此,我們在另一個類中調用另一個MainWindow方法,它將實際返回一個Window類型的對象。 MainWindow將通過調用ShowDialog()方法顯示該窗口。窗口類具有ViewModel,它將顯示對話框中顯示的數據。哪個是處理刪除數據場景的最佳位置?
我的問題是如何處理數據中不存在的情況下數據庫?
Window()或ViewModel(哪一個)的構造函數應該拋出異常?如果是,那麼什麼類型的異常?有沒有其他的方式來處理這種情況?
你的用戶界面,窗口,以及是否調用的ShowDialog與否,不應該讓你的數據,以及是否存在或者不干擾MVVM。你應該分開你的UI和數據訪問邏輯 – Alan
我想只有OP可以決定上面的註釋是否適用,但是如果你有一個數據訪問層並且該層沒有返回任何數據,聽起來可行的是你的UI應該知道這一點,並應該向用戶提出適當的通知。這取決於你是如何處理錯誤的,但顯然爲多個窗口編寫相同的錯誤處理彈出窗口將是一種浪費 - 我想你可以使用某種聚合器,它坐在MainWindow VM級別並截獲這些特殊情況並顯示彈出適當的消息 – Charleh
嘗試更好地展示您的規範,從中顯示的信息的位置,如果是來自數據庫,則沒有問題,因爲來自數據庫,如果不是,您應該添加到數據庫。 –