2010-04-30 26 views
5

Cách tiếp cận tốt nhất để điều hướng giữa UserControls/Pages (ngoài trải nghiệm trình duyệt) là gì? Tôi khá mới với Silverlight và thậm chí mới hơn với mẫu mvvm.Điều hướng Silverlight bằng Mvvm-light (oobe) + MEF?

Khung điều hướng tích hợp với Bộ công cụ ánh sáng MVVM như thế nào? Một đoạn mã để kiểm soát luồng ứng dụng chung với cả hai sẽ là tuyệt vời.

Kế hoạch là sử dụng Khung điều hướng cho luồng chung hoặc sử dụng cách tiếp cận của Jeremy Likeness để quản lý khu vực (http://csharperimage.jeremylikness.com/search/label/regions) và trao đổi các khu vực nếu cần. Tôi đã nhìn thấy một vài nơi đề cập đến việc thay thế Visual Root, nhưng điều đó nghe giống như một hack với tôi.

Bất kỳ lời khuyên, đoạn trích hoặc hướng dẫn nào theo hướng chung sẽ được đánh giá cao.

Cảm ơn bạn.

+0

chúc may mắn: P Navigation API ain 't MVVM thân thiện ở tất cả:/ – vidalsasoon

Trả lời

0

Tôi đang vật lộn với điều tương tự, Tuy nhiên, tôi đã bị loại bỏ khỏi "NavigationService" vì bị cáo buộc tạp chí giữ đối tượng tham chiếu trong bộ nhớ hoặc một cái gì đó tôi đọc ở đâu đó.

Tôi đã cố gắng sử dụng khung trong cửa sổ chính và sử dụng ánh sáng mvvm để gửi thông báo điều hướng đến cửa sổ để thay đổi khung.

Chỉnh sửa: Tôi đã tìm ra.

Trong cửa sổ chính (mã phía sau, không ViewModel) Tôi đã thêm một Messenger.Default.Register (Tất NotificationMessage (Tất NavMsg)) ...

Sau đó, trong bất kỳ mô hình xem tôi làm Sứ giả .Default.Send (Of Notificationmessage (Of NavMsg)) ...

Và sau đó tôi tạo một lớp NavMsg chấp nhận một chuỗi uri hoặc một đối tượng để điều hướng đến.

Dưới đây là một số mẫu mã T4 để tạo mã cho chế độ xem/chế độ xem của bạn để làm việc với mvvmlight và nó thể hiện thông báo cửa sổ đóng bên trên. http://dl.activeaspsoftware.net/dl.aspx?f=MvvmLightCodeTemplates.zip

+0

Tuyệt vời Tôi hy vọng sẽ cắt giảm một số thời gian ngày hôm nay hoặc ngày mai để có một cái nhìn. By the way bảng cảm ứng đa điểm tốt đẹp :) –

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