2017-01-17 6 views
0

DataGrid를 채우려면 Datagrid.ItemSource에 개체 목록을 추가하십시오. 예를 들어 사람 (이름, 나이, ...) 또는 다른 것.ItemSource의 C# WPF DataGrid 스타일

Datagrid.ItemSource = List<Person> 만 사용하여 DataGrid의 각 행을 개별적으로 스타일링하기 위해 Object (Person)에 정보를 추가하는 방법이 있습니까?

+0

당신이 묻는을 그리드 itemsource? – grantnz

+0

예, 이것이 질문입니다. – Denis

답변

0

해당 정보를 포함하도록 Person 클래스를 수정하는 경우에만. 예를 들어 거기에 아이콘을 넣은 다음 DataGrid에 행마다 다른 아이콘을 표시 할 수 있습니다. 그러나 이것은 약간 더러운 것입니다.

대신 변환기를 사용하는 것이 좋습니다. 시대와 같은 데이터가 WPF 창으로 전달되면 변환기가 실행되고 아이콘, 색상 등 원하는대로 반환 할 수 있습니다.이 방법을 사용하면 각 행을 사용자 정의하고 변환기없이 모든 논리를 유지할 수 있습니다. UI 클래스와 Person 클래스가 섞여있다.

0

당신은 데이터 그리드의 열 컬렉션에 DataGridTemplateColumn을 추가하고 그 CellTemplate에서 원하는 UIElement에, 예를 들어 둘 수 있었다 : 당신이있는 객체의 속성을 기반으로 데이터 그리드 행의 스타일을 할 수있는 경우

<DataGrid> 
    <DataGrid.Columns> 
     <DataGridTemplateColumn> 
      <DataGridTemplateColumn.CellTemplate> 
       <DataTemplate> 
        <StackPanel> 
         <Rectangle Width="50" Height="50" Fill="Gray" /> 
         <TextBlock Text="{Binding Name}" /> 
        </StackPanel> 
       </DataTemplate> 
      </DataGridTemplateColumn.CellTemplate> 
     </DataGridTemplateColumn> 
    </DataGrid.Columns> 
</DataGrid>