Tôi có một ứng dụng WPF mà tôi đã cố gắng viết theo phong cách MVVM. Nếu một ngoại lệ được ném (như khi một tài liệu được mở), tôi muốn hiển thị một MessageBox. Dễ làm, nhưng mã của tôi không cảm thấy khá đúng bởi vì các cuộc gọi MessageBox.Show là trong ModelView. Tôi nghĩ rằng loại điều đó được cho là sẽ sống trong View, nhưng tôi không được phép đặt mã trong View.Xử lý ngoại lệ MVVM
Vì vậy, câu hỏi thực sự có thể được chưng cất xuống cách được đề xuất để hiển thị MessageBox trong MVVM là gì?
+1: Ngoài ra, một thay thế cho việc sử dụng ServiceLocator sẽ là sử dụng Dependency Injection để tiêm IMessageService vào máy ảo khi cần. –
Do việc tách khỏi lớp trình bày, bạn có thể kiểm tra đơn vị ViewModel của mình. – jbe