Articles in this section
Category / Section

How to show the selection of row/cell when setting the background for SfDataGrid GridCell in Silverlight ?

3 mins read

Problem

Row/Cell selection border is behind the GridCell content. So when you apply the background for GridCell, the selection is not displayed in UI.

The following code example shows you how to set the GridCell style.

XAML

<!--Need to add this code snippet in Resources Define the style with Key-->
<Style x:Key="ApplyCellStyle" TargetType="Syncfusion:GridCell">
        <Setter Property="Background">
               <Setter.Value>
                    <SolidColorBrush Color="Blue" />
                </Setter.Value>
         </Setter>          
</Style>       
<Syncfusion:SfDataGrid x:Name="datagrid" 
                                       ColumnSizer="Star" 
                                       SelectionUnit="Row"  
                                       AllowSelectionOnPointerPressed="True"  
                                       RowSelectionBrush="Red"  
                                       CellStyle="{StaticResource ApplyCellStyle}"  
                                       ItemsSource="{Binding GDCSource}"  
                                       SelectionMode="Single" 
                                       >
</Syncfusion:SfDataGrid>

In the following screenshot, the selection is set in the 5th row, but it is not displayed in View with the selection border in the Cell Content presenter.

Row selection in Silver light DataGrid

Figure 1: 5th Row Selection

Solution

You can overcome this problem by reducing the Opacity for the brush that you set to the GridCell background. The following code example shows you how to set the Opacity to GridCell.

XAML

<!--Need to add this code snippet in Resources Define the style with Key-->
<Style x:Key="ApplyCellStyle" TargetType="Syncfusion:GridCell">
        <Setter Property="Background">
               <Setter.Value>
                    <SolidColorBrush Color="Blue" Opacity="0.5"/>
                </Setter.Value>
         </Setter>          
</Style>       
<Syncfusion:SfDataGrid x:Name="datagrid" 
                                       ColumnSizer="Star" 
                                       SelectionUnit="Row"  
                                       AllowSelectionOnPointerPressed="True"  
                                       RowSelectionBrush="Red"  
                                       CellStyle="{StaticResource ApplyCellStyle}"  
                                       ItemsSource="{Binding GDCSource}"  
                                       SelectionMode="Single" 
                                       >
</Syncfusion:SfDataGrid>

The following screenshot shows you the selection of row after applying background for GridCell also.

Row selection after applying background in in Silver light DataGrid

Figure 2: selection of row after applying background

 

Sample Links:

WPF

WRT

SilverLight

UWP

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (0)
Please sign in to leave a comment
Access denied
Access denied