사용자가 내 DataGrid 셀의 내용을 편집 할 때마다 알기를 원합니다. CellEditEnding 이벤트가 있지만 컬렉션에 변경 사항이 적용되기 전에 DataGrid가 바인딩되기 전에 호출됩니다.WPF DataGrid CellEditEnded 이벤트
내 데이터 격자는 ObservableCollection<Item>
에 바인딩됩니다. Item
은 클래스이며, WCF mex 끝점에서 자동으로 생성됩니다.
사용자가 컬렉션 변경 사항을 커밋 할 때마다 알 수있는 가장 좋은 방법은 무엇입니까?
UPDATE 내가 CollectionChanged 이벤트 해봤
, Item
이 수정됩니다 때 트리거되지 않습니다 끝납니다.
사실 질문을 게시하기 전에 실제로 그렇게했습니다. 사용자가 컬렉션을 수정할 때 CollectionChanged 이벤트가 발생하지 않습니다. –
이것은 사용자의 대답이 아니지만 CollectionChanged는 항목이 추가되거나 제거 된 경우에만보고합니다. 기회는 그리드이므로 컬렉션 자체를 변경하지 않고 위에서 언급 한 이벤트를 실행하지 않고 항목을 수정할 수 있습니다. – NestorArturo
Woo, 네, 여기 오해입니다.'ItemChanged'는 전체 Item이 변경 될 때 (예 : 이전 Item 대신에 새로운 Item()을 넣을 때) 발생합니다. 모든 수정을 잡으려면'Item' 클래스가'INotifyPropertyChanged'를 구현해야합니다 :) – Damascus