제품 유형 목록을 보여주는 DataGrid가 있습니다. 내가하고 싶은 일은 그리드가 마스터 데이터를 표시하는 일종의 마스터/세부 정보보기를 가지고 텍스트 상자 (등)의 모음이 자세히보기를 보여주는 것입니다. 세부 정보는 주로 텍스트의 크기 때문에 표에 표시하는 것이 적절하지 않은 큰 텍스트 열에 대한 것입니다. 그리드와 상세 영역 모두에 표시되는 일부 데이터 항목도 있습니다.DataGrid 양방향 바인딩
또한 그리드와 세부 영역이 함께 바인딩되어 있으므로 둘 중 하나의 변경으로 인해 기본 데이터 소스가 업데이트됩니다. 그리드가 변경되면 (예 :) 그리드가 변경되는 즉시 세부 영역에 반영되고 그 반대의 경우도 마찬가지입니다.
바인딩 및 종속성 속성을 사용하여이 작업을 수행 할 수 있다고 생각합니다.하지만 어떻게 설정합니까?
참고 : 바인딩을 수동으로 코드에서 정의 된 그리드에 표시되는 것을 열을 제어 할 수있는 사용자 ..로 당신이 DataGrid
당신이 할 필요가 DataContext
의 결합라는 이름 경우
var column = new DataGridTextColumn()
{
Header = attribute.Name,
Binding = new Binding(attribute.ColumnName) { TargetNullValue = string.Empty },
IsReadOnly = attribute.IsReadOnly
};
dgProductsList.Columns.Add(column);
이것이 작동하고 그리드의 기본 콜렉션이 업데이트됩니다 (수정 된 그리드 행으로 돌아 가면 세부 영역이 새 값으로 업데이트됩니다). 그러나 실제 그리드 셀은 업데이트되지 않습니다. 그리드의 동적 특성으로 인해 바인딩이 코드로 정의됩니다. 바인딩 코드를 표시하도록 질문이 업데이트되었습니다. – Remotec
@RemotecUk : 아이템 클래스 [implement] (http://msdn.microsoft.com/en-us/library/ms229614.aspx) ['INCP'] (http://msdn.microsoft .com/en-us/library/system.componentmodel.inotifypropertychanged.aspx)? –