2012-03-12 96 views
0

我有一個綁定到一個屬性標準texblock在我的視圖模型WPF TextBlock的更新不及時

<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正確調用,但仍正文塊沒有更新。我錯過了一些基本的東西?

回答

1

時引發應有的字符串「MyErrorMessage」,而不是財產的價值屬性。即

this.RaizePropertyChanged("MyErrorMessage") 

如果你解決這個問題(和其他一切都設置正確),你會沒事的。注:不需要Mode = Default(如名稱所示,它是默認值),UpdateSourceTrigger = PropertyChanged(也是默認值,並且不會使代碼更具可讀性)。

+0

謝謝,現在我要弄清楚爲什麼這個方法在我的所有其它模塊 – klashagelqvist 2012-03-12 11:12:25

+0

必須強調的工作,忘了我λ表達式。這是我常寫。 this.RaisePropertyChanged(()=> this.MyErrorMessage); – klashagelqvist 2012-03-12 11:16:26