You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

特定RadGridView鼠标悬停时向ControlTemplate插入自定义Grid方法

特定RadGridView实例行悬停插入自定义内容实现方案

核心逻辑:不用额外写鼠标事件处理,RadGridView内置的行视觉状态已经控制了Background_Over边框的显示/隐藏——鼠标悬停时自动显示,移开自动隐藏。你只需要给目标实例单独定制行模板,把要加的Grid直接放到这个Border内部即可,模板不做全局注册就不会影响其他控件。


具体实现代码

直接给目标RadGridView赋值独立的RowTemplate,模板保留原有所有结构,仅修改Background_Over节点:

<telerik:RadGridView>
    <!-- 仅当前实例生效的行模板 -->
    <telerik:RadGridView.RowTemplate>
        <ControlTemplate TargetType="grid:GridViewRow">
            <!-- 原有模板其他结构全部保留,仅修改Background_Over节点,给它加内部内容 -->
            <Border x:Name="Background_Over"
                    Background="{TemplateBinding MouseOverBackground}"
                    Margin="0 0 0 1"
                    Grid.Column="0"
                    Grid.ColumnSpan="4"
                    Visibility="Collapsed"
                    grid:SelectiveScrollingGrid.SelectiveScrollingClip="True">
                <!-- 要插入的自定义内容直接放在这里 -->
                <Grid>
                    <TextBlock Text="Example"/>
                </Grid>
            </Border>

            <Border x:Name="Background_Selected"
                    Background="{TemplateBinding SelectedBackground}"
                    Margin="0 0 0 1"
                    Grid.Column="0"
                    Grid.ColumnSpan="4"
                    Visibility="Collapsed"
                    grid:SelectiveScrollingGrid.SelectiveScrollingClip="True"/>
            
            <!-- 此处省略你原有ControlTemplate里的其余内容,务必全部保留避免样式/功能异常 -->
        </ControlTemplate>
    </telerik:RadGridView.RowTemplate>

    <!-- 此处保留RadGridView原有列定义、配置项等内容 -->
</telerik:RadGridView>

关键说明

  • 作用域控制:不要把这个模板放到窗口/应用级资源字典,直接作为当前RadGridView实例的RowTemplate属性值,就只会对这一个实例生效,不会全局污染。
  • 无需额外事件代码:Telerik内置的GridViewRow视觉状态管理器已经处理了鼠标悬停的状态切换,悬停时自动把Background_Over的Visibility改为Visible,内部的自定义Grid会同步显示,鼠标移走自动隐藏,不需要手动写MouseEnter/MouseLeave事件处理。
  • 如果是基于Telerik默认行模板修改,除了给Background_Over加子内容外,其余模板节点不要随意删除,否则会出现选中状态失效、滚动异常等问题。

内容的提问来源于stack exchange,提问作者Ohad Cohen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 03:33:07