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