当内容绑定到工具提示时,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>
我正在按照 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>