2013-03-13 114 views
2

假設我有一個綁定到TextBlock的屬性。比方說,結合看起來是這樣的:在ViewModel中更新視圖

public string Data 
{ 
    get { return _text; } 
    set 
    { 
      _text = value; 
      OnPropertyChanged("Data"); 
    }   
} 

別的地方在我的代碼,如果我說Data = "blue";爲什麼我還要再說一遍OnPropertyChanged("Text");?如果我不第二次添加OnPropertyChanged,它將不會自動更新。我認爲,因爲我在設置訪問器中執行OnPropertyChanged,所以當我將屬性賦值給屬性時它會自動更新視圖?

+0

您是否在set訪問器中放置了一個斷點,以便在執行'.Data =「blue」時驗證代碼是否正在運行;'可能不是您認爲它的類。 – AaronLS 2013-03-13 02:16:48

+1

什麼? OnPropertyChanged()'中的屬性名稱'Data'和屬性名稱不匹配。我不明白你在這裏做什麼。什麼是XAML?數據或文字? – 2013-03-13 02:20:37

+0

@AaronLS他們在同一班。 – tylerbhughes 2013-03-13 02:25:44

回答

0

我想出了這個問題。我在做_text = "Blue";而不是Data = "Blue";一旦我改變它將文本分配給屬性而不是字段,視圖被正確更新。