WPF - zmiana koloru wiersza na DataGrid

0

Utworzyłem następujący styl:

<Style TargetType="{x:Type DataGrid}">
    <Setter Property="AutoGenerateColumns" Value="False" />
    <Setter Property="IsReadOnly" Value="True"/>
    <Setter Property="RowStyle">
        <Setter.Value>
            <Style TargetType="DataGridRow">
                <Style.Triggers>
                    <Trigger Property="IsSelected" Value="True">
                        <Setter Property="Background" Value="Crimson"/>
                    </Trigger>
                    <Trigger Property="IsMouseOver" Value="True">
                        <Setter Property="Background" Value="Crimson"/>
                    </Trigger>
                </Style.Triggers>
            </Style>
        </Setter.Value>
    </Setter>
</Style>

Obecnie po najechaniu myszką mam zmienione tło na dwóch wierszach. Chciałbym, aby tło na zaznaczonym wierszu po najechaniu myszką na jakiś inny wiersz zmieniało się na Transparent. W jaki sposób można to zrobić?

1

To będzie coś w tym stylu, nie jest to doskonałe ale na dobry początek:

      <Style TargetType="{x:Type DataGrid}">
         <Setter Property="AutoGenerateColumns" Value="False" />
         <Setter Property="IsReadOnly" Value="True"/>
         <Setter Property="RowStyle">
            <Setter.Value>
               <Style TargetType="DataGridRow">
                  <Style.Triggers>
                     <MultiTrigger>
                        <MultiTrigger.Conditions>
                           <Condition Property="IsSelected" Value="True" />
                           <Condition Property="IsMouseOver" Value="False" />
                        </MultiTrigger.Conditions>
                        <MultiTrigger.Setters>
                           <Setter Property="Background" Value="Transparent" />
                        </MultiTrigger.Setters>
                     </MultiTrigger>
                     <MultiTrigger>
                        <MultiTrigger.Conditions>
                           <Condition Property="IsSelected" Value="True" />
                           <Condition Property="IsMouseOver" Value="True" />
                        </MultiTrigger.Conditions>
                        <MultiTrigger.Setters>
                           <Setter Property="Background" Value="Crimson" />
                        </MultiTrigger.Setters>
                     </MultiTrigger>
                  </Style.Triggers>
               </Style>
            </Setter.Value>
         </Setter>
      </Style>
0

Dzięki za podpowiedź, to chyba będzie dobry kierunek.

1 użytkowników online, w tym zalogowanych: 0, gości: 1