Tôi muốn liên kết một TextBox trong cửa sổ với thuộc tính chứa trong một lớp là biến của viewmodel và đảm bảo rằng sự kiện PropertyChanged của INotifyPropertyChanged được truyền từ lớp này sang cha mẹ.INotifyPropertyChanged trong phân lớp
Hãy để tôi minh họa bằng một ví dụ:
(DataContext Window được thiết lập để một thể hiện của ViewModel)
public class ViewModel {
private OtherClass classInstance = new OtherClass();
public int Attribute {
get { return classInstance.Attribute; }
}
}
public class OtherClass : INotifyPropertyChanged {
private int _attribute;
public int Attribute {
get { return _attribute; }
set {
_attribute = value;
PropertyChanged("Attribute");
}
}
...
}
Vấn đề trong ví dụ này là, khi thay đổi thuộc tính, các Textbox bị ràng buộc không cập nhật các ràng buộc kể từ khi tôi giả sử nó nghe sự kiện PropertyChanged của ViewModel và không phải là trường hợp của OtherClass.
Bất kỳ ý tưởng nào về cách khắc phục tình huống này? Tôi đã suy nghĩ về chaining của OtherClass's INotifyPropertyChanged để của cha mẹ của nó, nhưng có phải là một cách tốt hơn.
Thả ví dụ đơn giản chết là loại ví dụ tốt nhất :) – Moulde
Điều này không thực tế nếu SomeSubClass chứa một đống thuộc tính. Bạn có thực sự sẽ sao chép tất cả các thuộc tính đó không? – Sean
@Sean - Tôi không chắc chắn ý của bạn là gì "sao chép tất cả các thuộc tính đó". Trong ví dụ đó chỉ là trùng hợp ngẫu nhiên mà Tên được xác định trên phụ huynh và đứa trẻ. Nó làm cho không có sự khác biệt cho câu hỏi cơ bản. Chủ yếu, bạn có thể liên kết trực tiếp với thuộc tính lớp con thay vì cố sử dụng các biến proxy. Theo nghĩa đó, sẽ không có sự trùng lặp. – Josh