У Кента правильный ответ, но я хочу добавить небольшую новость о применении интерфейса INotifyPropertyChanged
.
Чтобы поднять событие легко попробуйте это
protected void OnPropertyChanged<T>(Expression<Func<T>> property)
{
if (this.PropertyChanged != null)
{
var mex = property.Body as MemberExpression;
string name = mex.Member.Name;
this.PropertyChanged(this, new PropertyChangedEventArgs(name));
}
}
и примените его как
{ // inside some method or property setter
OnPropertyChanged(() => this.MyProperty);
}
Единственная причина, по которой это лучше, чем указание свойства по имени, заключается в том, что если вы выполните рефакторинг или просто измените имя свойства, вам не нужно будет вручную изменять вложение, но вы можете позволить компилятору переименовать все ссылки. автоматически.