я хочу реализовать PropertyChanged событие, но ИДК, как использовать его в этом сценарииINotifyPropertyChanged с частным поле
class ParentClass
{
private ChildClass _childClass = new ChildClass();
//How to detect that the underlying _childClass.Name value changed ? so it changed this.
public string Name
{
get { return _childClass.Name; }
}
public void EditChild()
{
_childClass.Name = "SOME VALUE";
}
}
class ChildClass : INotifyPropertyChanged
{
private string _name;
public string Name
{
get { return _name; }
set
{
_name = value;
OnPropertyChanged();
}
}
public event PropertyChangedEventHandler PropertyChanged;
[NotifyPropertyChangedInvocator]
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null) {
handler(this, new PropertyChangedEventArgs(propertyName));
}
}
}
Извините, если в моем вопросе не хватает некоторых параметров, но что, если ChildClass содержит другой дочерний класс, и я хочу показать его дочерний объект как свойство в ParentClass? –
ПРИМЕЧАНИЕ: IAM, РАБОТАЮЩАЯ В WINFORMS –
В принципе, вы можете делать привязки данных в WinForms, но это сложнее и должно быть сделано в коде. Лично я делал Bindings только в WPF, поскольку он был разработан с учетом привязок. Ознакомьтесь с документацией MSDN о том, как создавать привязки WinForms. Http://msdn.microsoft.com/en-us/library/system.windows.forms.binding(v=vs.110).aspx – Tseng