2010-11-05 13 views

Respuesta

25

Prueba este

<Style x:Key="DataGridCellStyle" TargetType="{x:Type DataGridCell}" > 
    <Style.Triggers> 
     <Trigger Property="IsSelected" Value="True"> 
      <Setter Property="Foreground" Value="Green"/> 
     </Trigger> 
    </Style.Triggers> 
</Style> 

Entonces se puede usar en las columnas que le parezca como

<DataGrid ...> 
    <DataGrid.Columns> 
     <DataGridTextColumn CellStyle="{StaticResource DataGridCellStyle}" .../> 

Si desea que se aplique a todas las columnas se puede cambiar la x: clave de la el estilo a

<Style x:Key="{x:Type DataGridCell}" TargetType="{x:Type DataGridCell}" > 
+0

Gracias - eso funciona! – bplus

0

Si desea eliminar completamente los cambios de color de primer plano (por ejemplo, si su DataGrid tiene diferente colores para las diferentes filas), usted puede hacer esto:

<Style TargetType="{x:Type DataGridCell}" BasedOn="{StaticResource {x:Type DataGridCell}}"> 
     <Style.Triggers> 
      <Trigger Property="IsSelected" Value="True"> 
       <Setter Property="Foreground" Value="{Binding RelativeSource={RelativeSource Self}, Path=Foreground}" /> 
      </Trigger> 
     </Style.Triggers> 
    </Style> 

Si desea dar a este estilo un nombre, como en la respuesta anterior, agregue x: Key.

Cuestiones relacionadas