3
我們將MVVMLight與WPF結合使用。我們的視圖& ViewModels駐留在不同的項目中。在視圖中發生的所有未處理的異常都可以通過app.xaml.cs文件來處理,但我們也希望通過提供一些集中式異常處理機制來捕獲ViewModel中未處理的異常,而不是在每個函數中寫入try..catch。請告訴我們如何實現上述目標。 謝謝MVVMLight中的異常處理
我們將MVVMLight與WPF結合使用。我們的視圖& ViewModels駐留在不同的項目中。在視圖中發生的所有未處理的異常都可以通過app.xaml.cs文件來處理,但我們也希望通過提供一些集中式異常處理機制來捕獲ViewModel中未處理的異常,而不是在每個函數中寫入try..catch。請告訴我們如何實現上述目標。 謝謝MVVMLight中的異常處理
ViewModels的未處理異常也可以在App.xaml.cs中處理。應該沒有太大的區別。 App.xaml.cs是處理所有未處理的異常的整個應用程序的中心點。
邊節點:我不建議你將ViewModels和Views分解爲不同的程序集,因爲這個和其他原因。看我的帖子here描述爲什麼。
謝謝帕夫洛,您的意見。由於某些原因,我們將我們的應用程序劃分爲不同的項Views&ViewModels。我不知道如何處理來自位於另一個項目中的app.xaml.cs的ViewModels項目中引發的異常,即Views。你能指出一些方法嗎? – 2011-03-03 08:54:42
@Anil - 您的ViewModel類中發生的所有異常最終都會到達您的App.xaml.cs中的異常處理程序(您需要重新分配DispatcherUnhandledException處理程序和AppDomain.CurrentDomain.UnhandledException處理程序)。 – 2011-03-03 09:00:23
現在工作正常。謝謝。 – 2011-03-03 09:39:39