WPF文本块未更新
本文关键字:更新 文本 WPF | 更新日期: 2023-09-27 18:27:24
我有一个标准的texblock绑定到我的视图模型中的属性
<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";
但文本块没有更新。我可以看到setter和getter被正确调用,但文本块仍然没有更新。我是不是错过了一些基本的东西?
引发的属性应该具有字符串"MyErrorMessage",而不是该属性的值。即
this.RaizePropertyChanged( "MyErrorMessage" )
如果你解决了这个问题(其他一切都设置正确),你就没事了。
附带注释:不需要Mode=Default(顾名思义,它是默认值)和UpdateSourceTrigger=PropertyChanged(也是默认值,不会使代码更可读)。
所以只需将呼叫改为
this.RaisePropertyChanged("MyErrorMessage");