Tôi đang tạo mẫu ứng dụng WPF với mẫu MVVM. Theo sau một câu trả lời cho this question Tôi đã thiết lập một số ModelProviderService
để hiển thị các mô hình dưới dạng thuộc tính. Người tiêu dùng của dịch vụ là chế độ xem, tức là họ kéo mô hình của họ ra khỏi dịch vụ thay vì tự tạo ra họ.Thực hiện cơ chế đăng ký/nhắn tin trong C#
class ModelProviderService {
private LoginModel loginModel;
public LoginModel LoginModel {
get { return loginModel; }
set { loginModel = value; }
}
private ProjectsModel projectsModel;
public ProjectsModel ProjectsModel {
get { return projectsModel; }
set { projectsModel = value; }
}
public ModelProviderService() {
loginModel = new LoginModel();
projectsModel = new ProjectsModel();
}
}
Bây giờ, đây là những gì sẽ xảy ra:
- Một viewmodel thay đổi thuộc tính của ví dụ tài sản
LoginModel
. - ViewModel đẩy bất động sản mô hình lại dịch vụ bằng cách thiết lập tài sản của mình:
modelService.LoginModel.MyProperty = localLoginModel.MyProperty;
- Dịch vụ này phải công bố một thông điệp: "Này, mô hình của tôi về loại
LoginModel
chỉ thay đổi" - Bất kỳ chế độ xem nào khác đã đăng ký với thông báo này sẽ kéo mô hình đã thay đổi này khỏi dịch vụ.
Làm thế nào tôi có thể thực hiện:
- "thông điệp phát sóng"?
- đăng ký thư?