这是我的网格,当鼠标悬停在该标题上以显示探索时,该标题为“RED.BROJ”。文本。
<ListView.View>
<GridView>
<GridViewColumn Width="50"
Header="Реd.Број"
DisplayMemberBinding="{Binding Path=RedenBroj}">
</GridViewColumn>
答案 0 :(得分:7)
你可以这样做:
<GridViewColumn Width="50"
DisplayMemberBinding="{Binding Path=RedenBroj}">
<GridViewColumn.Header>
<TextBlock Text="Ред.Број"
ToolTip="Your explanation" />
</GridViewColumn.Header>
</GridViewColumn>
答案 1 :(得分:6)
响应稍晚,但您可以通过执行以下操作添加工具提示,而不会失去拖动列以重新排序的能力:
<ListView.View>
<GridView>
<GridView.ColumnHeaderContainerStyle>
<Style TargetType="GridViewColumnHeader">
<Setter Property="ToolTip"
Value="{Binding Content, RelativeSource={RelativeSource Self}}"/>
</Style>
</GridView.ColumnHeaderContainerStyle>
<GridViewColumn DisplayMemberBinding="{Binding A}" Header="A"/>
<GridViewColumn DisplayMemberBinding="{Binding B}" Header="B"/>
<GridViewColumn DisplayMemberBinding="{Binding C}" Header="C"/>
</GridView>
</ListView>
更新:感谢LPL
更简洁的版本进一步更新:我希望能够让所有列都有与其标题匹配的工具提示(因为有些列太窄而无法显示整个标题):
bash
答案 2 :(得分:0)
没有什么比用你自己的回答一个老问题更...
我受到 @Scroog1 的 回答的启发,但似乎有点多余,因为 Tooltip
只是模仿了那里的内容。您通常需要 Tooltip
,因为您已经缩写了列标题文本。
我创建了一个小的 AttachedProperty
,我在 Tooltip
上设置了我的 GridViewColumn
值。然后我从我的 bind
Style
到我的 GridViewColumnHeader
。
现在我只定义一次 Style
,然后将它和 AttachedProperty
添加到我想使用它的地方。
<Style x:Key="GridViewColumnHeaderStyle" TargetType="{x:Type GridViewColumnHeader}">
<Setter Property="ToolTip" Value="{Binding Path=Column.(attachedProperties:GridViewColumnHeaderToolTipAttachedProperty.Tooltip), RelativeSource={RelativeSource Self}}" />
</Style>
<GridView x:Key="GridViewFuelConsumption"
x:Shared="False">
<GridViewColumn Header="Ред.Број"
DisplayMemberBinding="{Binding RedenBroj}"
HeaderContainerStyle="{StaticResource GridViewColumnHeaderStyle}"
attachedProperties:GridViewColumnHeaderToolTipAttachedProperty.Tooltip="Your explanation" />
</GridView>
public sealed class GridViewColumnHeaderToolTipAttachedProperty : DependencyObject
{
public static readonly DependencyProperty TooltipSourceProperty = DependencyProperty.RegisterAttached(
"Tooltip",
typeof(string),
typeof(GridViewColumnHeaderToolTipAttachedProperty),
new PropertyMetadata("null"));
public static void SetTooltip(DependencyObject element, string value)
{
element.SetValue(TooltipSourceProperty, value);
}
public static string GetTooltip(DependencyObject element)
{
return (string)element.GetValue(TooltipSourceProperty);
}
}