如何在鼠标悬停时更改telerik:RadGridView行背景颜色

时间:2019-10-01 04:55:42

标签: c# wpf telerik

我对Telerik控件很陌生。我正在使用telerik:RadGridView,默认情况下,当鼠标光标悬停在该行上方时,该行的背景变为浅灰色。这使得该行中的文本难以阅读。因此,我想知道是否有一种方法可以在悬停行时将行背景更改为蓝色,而不是浅灰色。另外,我的telerik版本是2016。以下是我正在使用的网格。

<telerik:RadGridView x:Name="gridReport" ItemsSource="{Binding Tab.ListGraphReport}" 
                                                         ItemTemplate="{StaticResource ListBoxDataTemplate}"
                                                         GroupPanelBackground="Transparent" 
                                                         GroupPanelForeground="White"  
                                                         RowIndicatorVisibility="Collapsed" 
                                                         ColumnWidth="*" 
                                                         Background="Transparent" 
                                                         Foreground="White"
                                                         AutoGenerateColumns="False"
                                                         ShowGroupPanel="False">
                                        <telerik:RadGridView.Columns>
                                            <telerik:GridViewDataColumn Header="Indicator" IsFilterable="False">
                                                <telerik:GridViewDataColumn.CellTemplate>
                                                    <DataTemplate>
                                                        <Grid>
                                                            <Grid.ColumnDefinitions>
                                                                <ColumnDefinition Width="*" />
                                                                <ColumnDefinition Width="6*"/>
                                                            </Grid.ColumnDefinitions>
                                                            <Rectangle Height="10" Width="10" Fill="{Binding ColorName, Converter={StaticResource NVarToBrushConverter}}" Grid.Column="0" />
                                                            <TextBlock Text="{Binding Graph}" Grid.Column="1"/>
                                                        </Grid>
                                                    </DataTemplate>
                                                </telerik:GridViewDataColumn.CellTemplate>
                                            </telerik:GridViewDataColumn>
                                            <telerik:GridViewDataColumn Header="Min" DataMemberBinding="{Binding Min}" DataFormatString="{}{0:N2}" IsFilterable="False" >
                                            </telerik:GridViewDataColumn>
                                            <telerik:GridViewDataColumn Header="Max" DataMemberBinding="{Binding Max}" DataFormatString="{}{0:N2}" IsFilterable="False">
                                            </telerik:GridViewDataColumn>
                                            <telerik:GridViewDataColumn Header="AVG" DataMemberBinding="{Binding Avg}" DataFormatString="{}{0:N2}" IsFilterable="False">
                                            </telerik:GridViewDataColumn>
                                            <telerik:GridViewDataColumn Header="Unit" DataMemberBinding="{Binding Unit}" DataFormatString="{}{0:N2}" IsFilterable="False">
                                            </telerik:GridViewDataColumn>
                                        </telerik:RadGridView.Columns>
                                    </telerik:RadGridView>

2 个答案:

答案 0 :(得分:1)

您将需要从ControlTemplate复制GridViewRow的默认Themes.Implicit\WPF40\ExpressionDark\Themes\Telerik.Windows.Controls.GridView.xaml并更改Background元素的Background_Over属性或{{ {} {1}}中的1}}:

Color

答案 1 :(得分:0)

要在RadGridView行的背景上移动鼠标,请设置MouseOverBackground控件的GridViewRow属性。

<telerik:RadGridView.RowStyle>
    <Style TargetType="telerik:GridViewRow">
        <Setter Property="MouseOverBackground" Value="Red" />
    </Style>
</telerik:RadGridView.RowStyle>

在此处详细了解此内容:https://docs.telerik.com/devtools/wpf/controls/radgridview/rows/selected-row-background

请注意,如果您使用NoXaml个dll,则需要将行样式设置为默认的GridViewRowStyle

<telerik:RadGridView.RowStyle>
    <Style TargetType="telerik:GridViewRow" BasedOn="{StaticResource GridViewRowStyle}">
        <Setter Property="MouseOverBackground" Value="Red" />
    </Style>
</telerik:RadGridView.RowStyle>