2011-01-12 13 views
7

Tôi đang phát triển một ứng dụng hiện đang sử dụng Prism và MEF. Tôi lý tưởng muốn tạo một thanh công cụ hoặc menu với một mục cho mỗi mô-đun và khi một mục được nhấp, chỉ các chế độ xem được khai báo trong tải mô-đun đó vào một điều khiển tab.Mục menu cho mỗi mô-đun, với nội dung mô-đun tải động với Prism hoặc MEF

Ví dụ:

Menu Khu vực: ModuleA (Đã chọn) | ModuleB

Tab Khu vực: ModuleAViewA | ModuleAViewB | ModuleAViewC

Thay đổi thành Menu Khu vực: Nhân viên | Khoảng không quảng cáo (được chọn)

Tab Khu vực: Hạng mục | Trong Fi

Trả lời

11

Có rất nhiều câu hỏi tương tự như vậy ở đây. Nói chung, cách tiếp cận bạn sẽ thực hiện là định nghĩa một dịch vụ trong một DLL cơ sở hạ tầng mà các mô-đun của bạn có thể tham chiếu. Mô-đun của bạn sẽ thêm menu/thanh công cụ/mục ribbon/bất kỳ đối tượng nào thông qua dịch vụ. Trường hợp dịch vụ được triển khai tùy thuộc vào bạn - nó có thể nằm trong dự án Shell, cơ sở hạ tầng hoặc trong một mô-đun riêng biệt. Rõ ràng, nếu nó trong một mô-đun riêng biệt, bạn sẽ phải đảm bảo rằng các mô-đun khác của bạn xác định nó như là một phụ thuộc.

Bạn có thể muốn kiểm tra như sau:

Điều này có một liên kết đến một dự án thể hiện một menu động: Looking for Prism example of Modules loading themselves into a menu

Trong đó tôi hỏi một câu hỏi về làm thế nào để xây dựng một trình đơn động: How to dynamically add MenuItems (with a header) to a WPF menu

More .... Load Module Default Views In Region to Create Menu

Và nhiều hơn nữa! Menu service in Prism application CAL

Bạn cũng có thể tìm thấy nhiều hơn thế này. Đây là một yêu cầu khá phổ biến; Tôi chắc rằng bạn có thể kết hợp với nhau một cách tiếp cận tốt để làm điều này từ các mẫu mã trên mạng.

+0

Cảm ơn bạn đã chỉ cho tôi đúng hướng. Tôi đã làm một số tìm kiếm, nhưng đã không tìm thấy bất cứ điều gì ngắn gọn. – digiteknique

+0

cảm ơn rất nhiều thông tin. –

Các vấn đề liên quan