2010-07-17 33 views
8

Tôi hiện đang xây dựng một ứng dụng dựa trên MVVM. Ứng dụng cũng nên có một trình thủ thuật theo phong cách MVVM. Trình hướng dẫn không phải là một trình thủ thuật bình thường, đó là một trình hướng dẫn cụ thể. Mục tiêu của tôi là triển khai trình hướng dẫn vớiMVVM giống như trình hướng dẫn

1.) cũng có nhiều nhánh. Trình hướng dẫn có thể hướng dẫn bạn theo một hướng khác. Vì vậy, thuật sĩ không phải là đơn giản.

2.) cũng có thể có các vết cắt ngắn. Bạn có thể bỏ qua một số trang nơi các giá trị mặc định được đặt.

3.) cũng bình thường - đơn giản.

Lưu ý, một số thông tin trong các trang wizrad đang hoạt động. Điều đó có nghĩa là thông tin có thể được chuyển giữa mỗi bước và được xử lý.

Có cách tiếp cận nào giống như các mẫu để giải quyết vấn đề của tôi không? Làm thế nào để tôi thực hiện nó theo cách tốt nhất?

Trả lời

2

Nếu thuật sĩ của bạn có một máy ảo duy nhất lưu trữ các tiểu bang/kết quả của từng bước và ngồi đằng sau một cái nhìn đó là một điều khiển người dùng ...

Bạn có thể có một khung trên quan điểm wizard yêu cầu 2 sự kiện trong mã phía sau (Điều này rõ ràng phụ thuộc vào nếu kiến ​​trúc MVVM của bạn có thể sống với điều này?).

Sự kiện 1) Khi ràng buộc bước thủ thuật của bạn tăng NotifyPropertyChanged: yêu cầu khung của bạn "Điều hướng" đến trang thích hợp (như được mô tả trong thuộc tính trong máy ảo thuật sĩ của bạn).

Sự kiện 2) Trên khung sự kiện "Điều hướng" để bạn có thể trỏ các ngữ cảnh dữ liệu trang hiện tại vào máy ảo của mình.

Bằng cách này, thuật sĩ viewmodel kiểm soát tình trạng của wizard từ đầu đến cuối và nó cũng có thể mô tả các bước, có thể dễ dàng được thêm vào, chỉnh sửa, vv

Rõ ràng điều này có thể không ngồi tốt với tất cả mọi người xem MVVM.

2

Bạn có thể có một cái nhìn tại các ứng dụng mẫu ViewModel của WPF Application Framework (WAF). Nó cho thấy cách thực hiện một Wizard theo cách MVVM.

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