2009-12-04 73 views
4

在WPF中,我有一個ListView綁定到代碼隱藏中的ObservableCollection。我有工作代碼,通過更新集合來添加和刪除列表中的項目。如何更新綁定到WPF集合的列表視圖項目?

我有一個'編輯'按鈕,它打開一個對話框,並允許用戶編輯所選ListView項目的值。但是,當我更改項目時,列表視圖不會更新。我假設這是因爲我實際上不是從集合中添加/刪除項目,而只是修改其中的一個項目。

如何告訴列表視圖它需要同步綁定源?

回答

8

您需要執行INotifyPropertyChanged的項目類,像這樣:

class ItemClass : INotifyPropertyChanged 
{ 
    public int BoundValue 
    { 
     get { return m_BoundValue; } 
     set 
     { 
      if (m_BoundValue != value) 
      { 
       m_BoundValue = value; 
       OnPropertyChanged("BoundValue") 
      } 
     } 
    } 

    void OnPropertyChanged(string propertyName) 
    { 
     if (PropertyChanged != null) 
     { 
      PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); 
     } 
    } 

    int m_BoundValue; 
} 
+0

@Groky - 你是一個天才。這正是我需要的。謝謝! – 2009-12-04 20:00:21

1

您是否已將綁定模式設置爲TwoWay?如果沒有,嘗試做到這一點。

相關問題