2009-12-04 4 views
4

WPF에서는 코드 숨김에 ObservableCollection에 바인딩 된 ListView가 있습니다. 컬렉션을 업데이트하여 목록에서 항목을 추가 및 제거하는 작업 코드가 있습니다.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 - 당신은 천재 야. 그것이 내가 필요한 것입니다. 감사! –

1

바인딩 모드를 TwoWay로 설정 했습니까? 그렇지 않다면 시도하십시오.

관련 문제