I have a standard texblock bound to a property in my viewmodel
<TextBlock Grid.Row="3" Grid.Column="1" Text="{Binding MyErrorMessage, Mode=Default,UpdateSourceTrigger=PropertyChanged}" Foreground="Red"></TextBlock>
The property
private string _errorMessage;
public string MyErrorMessage
{
get { return _errorMessage; }
set
{
_errorMessage = value;
this.RaisePropertyChanged(this.MyErrorMessage);
}
}
I do a standard
this.MyErrorMessage = "Login failed";
But the textblock is not updating. I can see the the setter and getter being called correctly, but still the textblock is not updating. Am i missing something fundamental?
The property that is raised should have the string “MyErrorMessage” and NOT the value of the property. i.e.
If you fix this (and everything else is also set correct), you’ll be fine.
Side comments: There is no need for Mode=Default (as the name suggest, it is the default), and UpdateSourceTrigger=PropertyChanged (also the default, and doesn’t make the code more readable).