2010-11-05 3 views

Répondre

25

Essayez cette

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

Ensuite, vous pouvez l'utiliser dans les colonnes que vous voyez s'adapter comme

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

Si vous voulez appliquer à toutes les colonnes, vous pouvez changer le x: clé le style à

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

Merci - ça marche! – bplus

0

Si vous souhaitez supprimer complètement les changements de couleur de premier plan (par exemple, si votre DataGrid a des différences couleurs pour différentes lignes), vous pouvez le faire:

<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 vous voulez donner ce style un nom, comme dans la réponse précédente, ajoutez x: Key.

Questions connexes