Как изменить телерик: цвет фона строки RadGridView при наведении мыши - PullRequest
1 голос
/ 01 октября 2019

Я совсем новичок в Telerik Controls. Я работаю с 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 ]

1 голос
/ 01 октября 2019

Вам нужно будет скопировать значение по умолчанию ControlTemplate для GridViewRow из Themes.Implicit\WPF40\ExpressionDark\Themes\Telerik.Windows.Controls.GridView.xaml и изменить свойство Background элемента Background_Over или Color кисти ItemBackground_Over:

<SolidColorBrush x:Key="ItemBackground_Over" Color="#FF565656"/>
0 голосов
/ 01 ноября 2019

Чтобы навести указатель мыши на фон строк 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 dlls, вам нужно будет установить стиль строки по умолчанию GridViewRowStyle.

<telerik:RadGridView.RowStyle>
    <Style TargetType="telerik:GridViewRow" BasedOn="{StaticResource GridViewRowStyle}">
        <Setter Property="MouseOverBackground" Value="Red" />
    </Style>
</telerik:RadGridView.RowStyle>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...