当内容绑定到工具提示时,Telerik WPF GridView header 文本消失

Telerik WPF GridView header text disappears when content is bound to tooltip

我正在按照 Telerik 指南在 WPF GridView 列 headers 上显示工具提示。任务是创建一个工具提示,其文本与 header.

列相同

在generic.xml中有这样的风格:

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

这确实有效,当鼠标悬停在列 header 上时会显示工具提示,但实际的 header 正在被清除。

我想知道为什么会发生这种情况以及如何解决? GridViewHeaderCell 继承自 ContentControl.

我最终添加了一个转换器,因为 "Content" 值似乎是一个 TextBlock:

public class TooltipObject : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            if (value != null)
            {
                return ((TextBlock)value).Text;
            }

            return value;
        }

        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            return value;
        }
    }

样式如下:

<utils:TooltipObject x:Key="tooltip" />

...

<Style TargetType="telerik:GridViewHeaderCell">
            <Setter Property="ToolTip" Value="{Binding RelativeSource={RelativeSource Self}, Path=Content, Mode=TwoWay, Converter={StaticResource tooltip}}" />
        </Style>