I noticed that the default RadGridView style does not provide a gray row when a Row is selected but not active; window with both textbox and gridView; select line in gridView; line is blue; activate textbox (click or tab); selected line is still blue.
I tried to modify this behavior inside a GridViewRow style using a Multitrigger but it seems that Selector.IsSelectionActive is always false.
This is my current GridViewRow template :
<Style TargetType="{x:Type telerik:GridViewRow}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type telerik:GridViewRow}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Border x:Name="SelectionBackground"
Grid.Column="2"
Background="{TemplateBinding Background}"
MinHeight="{TemplateBinding MinHeight}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Margin="{TemplateBinding Margin}"
Padding="{TemplateBinding Padding}" />
<Rectangle x:Name="BackgroundRectangle"
Grid.Column="2" Opacity="0"
Fill="{DynamicResource telerik.GridViewRowSelectedBackground}"
Stroke="{DynamicResource telerik.GridViewRowSelectedBorderBrush}"
StrokeThickness="1" />
<telerik:IndicatorPresenter x:Name="PART_IndicatorPresenter"
Visibility="{TemplateBinding RowIndicatorVisibility}" Grid.Column="0"
Background="{TemplateBinding Background}"
BorderBrush="BlueViolet"
BorderThickness="1,0,1,1">
<Path x:Name="NavigatorIndicator"
Fill="#FF000000" Stretch="Fill" Width="5" Height="8" Data="M254.5,183.75 L254.5,193.33333 260.75,188.16682 z"
Visibility="Collapsed" VerticalAlignment="Center" HorizontalAlignment="Center" />
</telerik:IndicatorPresenter>
<telerik:IndentPresenter x:Name="PART_IndentPresenter"
IndentLevel="{TemplateBinding IndentLevel}"
Grid.Column="1"
Background="{TemplateBinding Background}" />
<telerik:DataCellsPresenter Height="Auto"
x:Name="PART_DataCellsPresenter"
Grid.Column="2"
MinHeight="{TemplateBinding MinHeight}" />
<Rectangle Width="Auto" Height="Auto"
x:Name="InvalidBorder"
Margin="0"
Visibility="Collapsed"
Stroke="Red"
StrokeThickness="2"
Grid.Column="0" Grid.ColumnSpan="3" />
</Grid>
<ControlTemplate.Triggers>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsSelected" Value="true"/>
<Condition Property="Selector.IsSelectionActive" Value="false"/>
</MultiTrigger.Conditions>
<Setter Property="Fill"
TargetName="BackgroundRectangle"
Value="{DynamicResource telerik.GridViewRowSelectedInactiveBackground}"/>
<Setter Property="Stroke"
TargetName="BackgroundRectangle"
Value="{DynamicResource telerik.GridViewRowSelectedInactiveBorderBrush}"/>
</MultiTrigger>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Opacity" TargetName="BackgroundRectangle" Value="1"/>
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" TargetName="SelectionBackground" Value="{DynamicResource telerik.GridViewRowMouseOverBackgroundBrush}"/>
</Trigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsSelected" Value="False" />
<Condition Property="IsMouseOver" Value="True" />
</MultiTrigger.Conditions>
<Setter Property="Opacity" TargetName="BackgroundRectangle" Value=".5"/>
</MultiTrigger>
<Trigger Property="IsCurrent" Value="True">
<Setter TargetName="NavigatorIndicator" Property="Visibility" Value="Visible" />
</Trigger>
<Trigger Property="IsContentValid" Value="False">
<Setter TargetName="InvalidBorder" Property="Visibility" Value="Visible" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
<Setter Property="IsTabStop" Value="False" />
<Setter Property="BorderBrush" Value="{DynamicResource telerik.GridViewRowBorderBrush}" />
<Setter Property="BorderThickness" Value="0,0,0,0" />
<Setter Property="Margin" Value="0" />
<Setter Property="Padding" Value="0" />
<Setter Property="MinHeight" Value="18" />
<Setter Property="FontSize" Value="11" />
<Setter Property="FontFamily" Value="Verdana" />
<Setter Property="FontWeight" Value="Normal" />
<Setter Property="Foreground" Value="#FF000000" />
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding Path=IsAlternating, RelativeSource={RelativeSource Self}}" Value="true"/>
<Condition Binding="{Binding Path=UseAlternateRowStyle, RelativeSource={RelativeSource FindAncestor, AncestorLevel=1, AncestorType={x:Type telerik:RadGridView}}}" Value="true"/>
</MultiDataTrigger.Conditions>
<Setter Property="Background" Value="{DynamicResource telerik.GridViewRowAlternatingRowBackground}" />
</MultiDataTrigger>
</Style.Triggers>
</Style>
Do you have any idea how to solve this ?