Уникальные стили для сфокусированной / текущей строки и выбранных строк в сетке данных WPF

#wpf #xaml #datagrid #styles

#wpf #xaml #сетка данных #стили

Вопрос:

Я пытаюсь оформить сфокусированную / текущую строку иначе, чем выбранные строки в сетке данных WPF, но не могу придумать элегантный способ сделать это. Самое близкое, что я придумал, это использовать «IsKeyboardFocusWithin», но это исчезает, когда сама сетка данных теряет фокус. Я хотел бы каким-то образом узнать из стиля, является ли строка той, которая содержит CurrentCell, и изменить цвет фона на основе этого. Есть ли какой-либо способ сделать это? Вот моя текущая реализация с использованием «IsKeyboardFocusWithin»

 <Style x:Key="PlaylistDataGridRowStyle"
       TargetType="{x:Type DataGridRow}">
    <Style.Triggers>            
        <Trigger Property="IsSelected"
                 Value="True">
            <Setter Property="Background"
                    Value="#CB88AACD" />                
        </Trigger>
        <Trigger Property="IsKeyboardFocusWithin"
                 Value="True">
            <Setter Property="Background"
                    Value="#FF88AACD" />
        </Trigger>
    </Style.Triggers>
    <Setter Property="Background"
            Value="Transparent" />
    <Setter Property="BorderThickness"
            Value="0" />
</Style>