2013-07-29 2 views
0

그래서 이상한 문제가 발생했습니다. List를 DataGrid에 성공적으로 바인딩했는데 모든 작업이 정상적으로 작동합니다. 그러나 일부 행을 채우기 위해 사용하는 ComboBoxColumn이 있습니다.DataGridTextColumn 행 및 뒤로 스크롤 할 때만 업데이트

예를 들어 ComboBoxColumn에서 선택한 항목이 "B"이면 TextColumn이 "Blld"로 변경되어야합니다. 은 내가

DataGridPreparingCellForEditEventArgs 

그리고 속성의 get을 사용하여이 작업을 달성,

PropertyChanged event 

데이터 격자 내 목록에 설정 업데이트, 그러나 그것은 단지 (새 텍스트 "Blld"를 표시합니다 않습니다 업데이트 된 텍스트) 내 DataGrid 아래로 스크롤하면 (문제의 행을 볼 수 없을 때까지) 다시 돌아옵니다.

무슨 일 이니?

+0

일부 이벤트를 발생시키는 대신 ViewModel의 속성에 대한 변환기를 사용하여 바인딩을 시도해 보셨습니까? –

+0

Probabaly 속성 이벤트의 속성 변경시 datagrid.Mark 중단 점을 스크롤하고 변경 사항이 언제 실행되는지 확인하기 위해 변경 이벤트가 발생합니다. – Vishal

+0

'ScrollViewer.CanContentScroll = "False"'를 시도하십시오. 이것이 작동하지 않으면 알려주십시오. –

답변

2

이 문제가있는 다른 사람들에게, 나는이 이상한 일을 일으키는 것을 발견했습니다. List에 바인딩 된 INotifyPropertyChanged 이벤트가 있었지만 사용중인 유형이 아닙니다.

List 내부의 각 값에 PropertyChanged 이벤트를 구현해야합니다.