Những gì tôi đang sử dụng:PRISM + MEF + MVVM - Bạn không chắc chắn nên bắt đầu từ đâu?
- Visual Studio 2010
- Microsoft .NET Framework 4
- Prism v4
Những gì tôi đang cố gắng tìm ra là làm thế nào để bắt đầu với Prism + MEF trong khi vẫn duy trì mẫu MVVM. Khi tôi đi vào Prism Quickstarts, nó có một Prism + MEF, nhưng các chú thích trong dự án chỉ rõ rằng ví dụ Quickstart không thực hiện MVVM. Tôi không thực sự chắc chắn những gì để trộn/kết hợp để vỏ của tôi chính nó sau MVVM (và khu vực).
Về cơ bản, tôi muốn sử dụng MEF để có thể tải Tập hợp (Mô-đun) tại thời gian chạy. Và, tôi muốn thiết lập các khu vực trong Shell của tôi và có Shell sử dụng MVVM (vì vậy tôi có thể databind những thứ để vỏ). Mỗi ví dụ trực tuyến là Prism, Prism + MVVM, Prism + Unity, Silverlight ví dụ, Prism + MEF, vv Nhưng tôi không thể tìm thấy bất kỳ WPF Prism + MEF + MVVM ví dụ hoặc thông tin. Tôi thực sự không có ý tưởng làm thế nào để thiết lập bootstrapping của tôi và như vậy để có được đi.
Khi phần đó được thực hiện, tôi chắc chắn tôi sẽ tìm cách tải các điều khiển khác bằng cách sử dụng MVVM vào trình bao của tôi. Bất kỳ sự trợ giúp nào sẽ là tuyệt vời, đặc biệt là các nguồn lực giải quyết trực tiếp với tình huống này như được áp dụng cho một cái gì đó tương tự (tức là Prism + Unity và không có MEF). Cảm ơn!
Bạn đã bao giờ tìm thấy ví dụ về MEF + Prism + MVVM chưa? Tôi không thể tìm thấy một trong hai và một ví dụ có giá trị một ngàn liên kết tập tin trợ giúp. – JohnC
@JohnC: Vâng, Hướng dẫn của nhà phát triển về lăng kính là hữu ích, nhưng không, tôi không tìm thấy bất kỳ ví dụ cụ thể nào về Prism + MEF + MVVM. Mặc dù, nhìn vào từng thành phần riêng lẻ mọi thứ có ý nghĩa hơn. Prism là một khung công tác cung cấp các tiện ích và các lớp giúp bạn viết một ứng dụng MVVM. MEF là một khung trình cắm thêm. Lý do tại sao Prism và MEF có thể đan xen là vì Prism có thể mở rộng. Tôi đã không tìm ra cách để xử lý các khu vực (sử dụng MEF), nhưng tôi đã phát hiện ra rằng AggregateCatalog là trái tim và linh hồn của Prism + MEF. – michael
@JohnC: MVVM là một phong cách thiết kế, và nó tự nhiên đi với Prism. Vấn đề là Prism cung cấp cho khá một vài công cụ để giúp xử lý các tình huống MVVM đặc biệt (ví dụ, nó cung cấp DelagateCommand và có các mẫu về cách tạo một CompositeCommand). Nó cung cấp Vùng (mà tôi vẫn chưa tìm ra hoàn toàn). Nó cung cấp các lớp như NotificationObject, vv Tôi đã tìm cách sử dụng MEF để nhập ViewModel của tôi vào khung nhìn của tôi và xuất View của tôi vào Bootstrapper của tôi. Có khá nhiều nguồn trên mạng, không chỉ là một ví dụ lớn, thay vào đó là rất nhiều ví dụ nhỏ mà tôi đã ghép lại với nhau. – michael