如何在我的Gridview列标题WPF VS2010上添加工具提示文本

den*_*nza 8 wpf gridview columnheader

这是我的网格,当鼠标悬停在该标题上以显示爆炸时,该标题为"RED.BROJ".文本.

<ListView.View>
    <GridView>
        <GridViewColumn Width="50"
                        Header="??d.????"
                        DisplayMemberBinding="{Binding Path=RedenBroj}">
        </GridViewColumn>
Run Code Online (Sandbox Code Playgroud)

LPL*_*LPL 8

你可以这样做:

<GridViewColumn Width="50"
                DisplayMemberBinding="{Binding Path=RedenBroj}">
    <GridViewColumn.Header>
        <TextBlock Text="???.????"
                   ToolTip="Your explanation" />                      
    </GridViewColumn.Header>        
</GridViewColumn>
Run Code Online (Sandbox Code Playgroud)


Scr*_*og1 8

响应稍晚,但您可以通过执行以下操作添加工具提示,而不会失去拖动列以重新排序的能力:

<GridViewColumn Width="50"
                Header="??d.????"
                DisplayMemberBinding="{Binding Path=RedenBroj}">
    <GridViewColumn.HeaderContainerStyle>
        <Style>
            <Setter Property="Control.ToolTip" Value="Tool tip content"/>
        </Style>
    </GridViewColumn.HeaderContainerStyle>
</GridViewColumn>
Run Code Online (Sandbox Code Playgroud)

更新:更简洁的版本归功于LPL

进一步更新:我希望能够让所有列都有与其标题匹配的工具提示(因为有些列太窄而无法显示整个标题):

<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>
Run Code Online (Sandbox Code Playgroud)

  • 我认为它可能稍微冗长一点(`<GridViewColumn.HeaderContainerStyle> <Style> <Setter Property ="Control.ToolTip"Value ="Tool tip content"/> </ Style> </ GridViewColumn.HeaderContainerStyle>`)但比我的解决方案更好.+1 (4认同)