2009-12-04 67 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?如果没有,尝试做到这一点。

相关问题