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

Telerik WPF GridView列头绑定ToolTip后文本消失的原因与解决方法

问题原因及解决办法

这个问题我之前也碰到过,核心原因在于你的Style没有继承Telerik GridViewHeaderCell的默认样式,导致控件自带的模板和布局逻辑被完全覆盖了。

当你定义一个不带BasedOn属性的自定义Style时,WPF会用这个新样式替换掉控件的默认样式——Telerik的GridViewHeaderCell自带了包含排序图标、筛选按钮以及Content显示逻辑的模板,你的自定义样式没有继承这些设置,所以列头的文本区域没被正确渲染出来,看起来就像是文本被清空了;但实际上Content属性的值还是存在的,所以ToolTip才能正常显示。

下面是两种有效的解决办法:

办法一:继承默认样式(推荐)

在你的Style中添加BasedOn属性,继承Telerik的默认GridViewHeaderCellStyle,这样既能保留列头原有的布局和功能,又能添加ToolTip的设置:

<Style TargetType="telerik:GridViewHeaderCell" BasedOn="{StaticResource GridViewHeaderCellStyle}">
    <Setter Property="ToolTip" Value="{Binding RelativeSource={RelativeSource Self}, Path=Content}" />
</Style>

办法二:直接绑定到列的Header属性

GridViewHeaderCell的DataContext就是对应的GridViewColumn,所以你可以直接绑定到Header属性,这种方式更直接,也能避免样式继承的问题:

<Style TargetType="telerik:GridViewHeaderCell">
    <Setter Property="ToolTip" Value="{Binding Header}" />
</Style>

如果你的列头是复杂元素(比如包含图片的布局),这种方式还能确保ToolTip显示的是你设置的原始Header内容,而不是UI元素本身。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 03:11:40