WPF TextBlock не обновляется - PullRequest
0 голосов
/ 12 марта 2012

У меня есть стандартный текстовый блок, привязанный к свойству в моей модели просмотра

  <TextBlock  Grid.Row="3"  Grid.Column="1" Text="{Binding MyErrorMessage, Mode=Default,UpdateSourceTrigger=PropertyChanged}"  Foreground="Red"></TextBlock>

Имущество

private string _errorMessage;
        public string MyErrorMessage
        {
            get { return _errorMessage; }
            set
            {
                _errorMessage = value;
                this.RaisePropertyChanged(this.MyErrorMessage);

            }
        }

Я делаю стандарт

 this.MyErrorMessage = "Login failed";

Но текстовый блок не обновляется. Я вижу, что установщик и получатель вызывается правильно, но текстовый блок все еще не обновляется. Я упускаю что-то фундаментальное?

Ответы [ 2 ]

1 голос
/ 12 марта 2012

Свойство, которое вызывается, должно иметь строку «MyErrorMessage», а НЕ значение свойства. т.е.

this.RaizePropertyChanged( "MyErrorMessage" )

Если вы исправите это (и все остальное также настроено правильно), все будет в порядке.

Дополнительные комментарии: Нет необходимости в Mode = Default (как следует из названия, это значение по умолчанию) и UpdateSourceTrigger = PropertyChanged (также по умолчанию и не делает код более читабельным).

0 голосов
/ 12 марта 2012

RaisePropertyChanged принимает строку http://msdn.microsoft.com/en-us/library/system.componentmodel.inotifypropertychanged.propertychanged.aspx

Так что просто измените вызов на

this.RaisePropertyChanged("MyErrorMessage");
...