2010-08-05 10 views
8

Je n'arrive pas à comprendre pourquoi la première partie du code ne fonctionne pas, mais la seconde est.WPF DataGrid MouseOver sur DataGridRow

PARTIE 1

<DataGrid.RowStyle> 
     <Style TargetType="DataGridRow"> 
      <Style.Triggers> 
        <Trigger Property="IsMouseOver" 
          Value="True"> 
         <Setter Property="Background" 
           Value="Green" /> 
        </Trigger> 
      </Style.Triggers> 
     </Style> 
    </DataGrid.RowStyle> 

PARTIE 2

<DataGrid.CellStyle> 
     <Style TargetType="DataGridCell"> 
      <Style.Triggers> 
       <Trigger Property="IsMouseOver" 
         Value="True"> 
        <Setter Property="Background" 
          Value="Pink" /> 
       </Trigger> 
      </Style.Triggers> 
     </Style> 
    </DataGrid.CellStyle> 

En fait, tout ce que je veux faire est de définir la couleur MouseOver sur une ligne ...

Répondre

10

Mec, je copie-collé ce que vous avez fonctionne parfaitement bien pour moi. Je ne suis pas sûr de la question que vous avez. Y a-t-il autre chose dans votre XAML qui pourrait être pertinent? Aussi, pouvez-vous essayer d'ajouter un <Setter Property="Background" Value="Transparent"/> au style de votre DataGridRow et de voir s'il le résout?

+0

Merde, sur un simple DataGrid (à partir d'un nouveau projet), cela fonctionne. Je vais poster mon DataGrid complet pour vous montrer. – esylvestre

+1

J'ai eu mon erreur. Je définissais la propriété RowBackground sur mon Datagrid, qui a la priorité sur le RowStyle. Mon diable, merci pour l'indice! – esylvestre