Gần đây tôi đã bắt đầu điều tra mẫu MVVM với WPF cho một dự án sắp tới. Tôi bắt đầu với Josh Smith's MSDN article. Tôi có một câu hỏi (rất nhiều, nhưng hãy bắt đầu bằng một câu hỏi):MVVM (với WPF) - Liên kết nhiều chế độ xem với cùng ViewModel
Tôi có một IndividualViewModel hiển thị các đặc tính của mô hình. Tôi cần hai chế độ xem "Thêm cá nhân" và "Chỉnh sửa cá nhân" rất giống như bạn có thể tưởng tượng. Những gì tôi đã làm hiện nay là có 2 lớp con AddIndividualViewModel và EditIndividualViewModel để hiển thị các lệnh Add và Edit tương ứng. Tôi cũng có 2 chế độ xem có tên similary có liên kết với chúng.
Bây giờ phương thức này hoạt động và các lớp này khá nhỏ, nhưng tôi tự hỏi liệu tôi có thể chỉ có một mô hình xem, hiển thị cả hai lệnh. Tôi vẫn sẽ có 2 chế độ xem sẽ liên kết với cùng một kiểu xem này, hiển thị lệnh thích hợp dưới dạng nút. Tôi không chắc chắn làm thế nào để làm điều này. Trong các nguồn lực cửa sổ chính tôi có cái gì đó như:
<DataTemplate DataType="{x:Type ViewModels:AddIndividualViewModel}">
<Views:AddIndividualView />
</DataTemplate>
Với phương pháp này bắt buộc bạn chỉ có thể có một one-to-one ràng buộc, ví dụ: quan điểm tương tự luôn được hiển thị cho một mô hình điểm nhất định. Có cách nào để tự động chuyển chế độ xem tùy thuộc vào thuộc tính trên mô hình chế độ xem (ví dụ: IndividualViewModel.Mode) hay không. Có cách tiếp cận khác mà tôi nên cân nhắc không?
Lưu ý rằng cửa sổ chính có bộ sưu tập các kiểu xem và hiển thị từng mô hình trong tab.
Cảm ơn bạn!
Dường như bạn có mã bị thiếu. Bạn có thể cập nhật câu trả lời của mình với đoạn mã không? – PlagueHammer