Tôi đang tìm một "thực hành tốt nhất" (nếu có tốt nhất) để tắt một ứng dụng WPF có sử dụng MEF và PRISM4. Cuối cùng, tôi đang tìm một loại "Close Service" sẽ quản lý tất cả các sự kiện/chỉ huy từ Shell cho bất kỳ viewmodel nào (hoặc các thuê bao khác) muốn xác minh OK là đóng ứng dụng. Trình tổng hợp sự kiện là cách sạch nhất? Các ý kiến / lựa chọn khác?Tắt ứng dụng duyên dáng bằng WPF PRISM 4
Lý tưởng nhất, tôi muốn có một nút trên ToolbarView trong ToolbarRegion của tôi (1 trong 2 vùng trong Shell của tôi). Nút này sẽ gọi một lệnh trên ToolbarViewModel của tôi (tham khảo một lệnh trên ToolbarControler của tôi) mà lần lượt sẽ làm 2 điều (tôi nghĩ?) ... Đầu tiên, thông báo cho tất cả các thuê bao rằng nó đóng cửa thời gian và cho phép bất kỳ người trong số họ hủy đóng và ... thứ hai, nếu không hủy, bằng cách nào đó thông báo cho trình bao đóng lại. Chế độ tắt máy của ứng dụng của tôi được đặt thành "ShutdownMode.OnMainWindowClose" vì vậy nếu Shell đóng, tôi sẽ được đặt tất cả.
Ai đó có thể giúp tôi với điều này không?
Tôi thích phương pháp này, nhưng tôi vẫn còn câu hỏi. Làm thế nào để bạn theo dõi các chế độ xem đang hoạt động của bạn (hoặc xem các mô hình)? Bộ sưu tập nào bạn lặp lại để gọi "CanShutdown()"? Bạn có sử dụng IRegionManager và truy vấn chế độ xem đang kích hoạt không? – Thelonias
Vì bạn làm điều đó trong Shell, bạn có thể chỉ cần truy vấn nội dung của các phần tử bố cục khác nhau mà bạn có trong Shell và lặp qua chúng. Nó có thể có thể với IRegionManager là tốt, hãy thử và xem những gì làm việc tốt nhất trong kịch bản của bạn. –