2010-11-05 1 views

risposta

25

Prova questo

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

Quindi è possibile utilizzare nelle colonne che si vede in forma come

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

Se si desidera applicare a tutte le colonne è possibile modificare la x: chiave di lo stile di

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

Grazie - funziona! – bplus

0

Se si desidera rimuovere completamente il colore cambia primo piano (per esempio, se il DataGrid è diverso colori per diverse righe), si può fare questo:

<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> 

Se si vuole dare a questo stile un nome, come nella risposta precedente, aggiungere x: Key.