2010-11-05 16 views

Odpowiedz

25

Spróbuj

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

Wtedy można go używać w kolumnach, które widzisz pasują jak

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

Jeśli chcesz go zastosować do wszystkich kolumn można zmienić x: klucz Styl do

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

Dzięki - to działa! – bplus

0

Jeśli chcesz całkowicie usunąć zmiany koloru pierwszego planu (powiedzmy, jeśli Twoja DataGrid ma inne kolory dla różnych rzędów), można to zrobić:

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

Jeśli chcesz nadać nazwę tego stylu, jak w poprzedniej odpowiedzi, dodać x: Key.

Powiązane problemy