2011-10-07 5 views
0

에 대한 ListViewItem이 상당 나는의 ListView에서 예상대로이 작동WPF : 데이터 그리드

<Style TargetType="ListViewItem"> 
    <Setter Property="XX" Value="true" /> 
</Style> 

않는 일부 코드가 있습니다. 그러나 ListView를 DataGrid로 대체하고 DataGrid의 ListViewItem과 동일한 항목을 찾는 데 문제가 있습니다. 처음에는 Datagrid 아이템이 ListView에서 상속받을 것으로 예상했기 때문에 아무것도 변경할 필요가 없었지만 Setter는 효과가 없었습니다. 그런 다음 변경했습니다.

<Style TargetType="DataGridRow"> 
    <Setter Property="XX" Value="true" /> 
</Style> 

하지만 효과가 없습니다. DataGridItem 또는 DataGridViewItem이 없기 때문에 옵션이 부족합니다. 그래서, 어떤 TargetType이 필요합니까?

+0

정확하게 스타일을 변경하고 싶습니까? 행이 어떻게 표시 되나요? – Vale

+0

아니요 데이터 가상화를 사용하여 데이터를 백그라운드에서 자동로드 할 수 있도록 해당 속성의 변경 사항을 확인합니다. – Muis

+0

@Joshua DataGrid의 UI는 기본적으로 가상화되어 있습니다. 즉, DataGridRows가 재사용되고 다시 생성되지 않습니다. 아마도 당신은 당신이하려고하는 것에 대한보다 구체적인 코드 샘플을 보여 주어야 할 것입니다. – Rachel

답변

0

DataGridRow, DataGridColumn 또는 DataGridCell에 일반 스타일을 설정할 수 있습니다. 어느 것을 사용하는지는 설정자에 따라 다릅니다.

<DataGrid> 
    <DataGrid.Resources> 
     <Style TargetType="{x:Type DataGridCell}"> 
      <Setter Property="IsReadOnly" Value="True" /> 
     </Style> 
     <Style TargetType="{x:Type DataGridRow}"> 
      <Setter Property="Background" Value="Green" /> 
     </Style> 
    </DataGrid.Resources> 

</DataGrid>