ListView - GridView - 标题工具提示

时间:2012-09-26 09:40:56

标签: wpf gridview header tooltip

我希望能够使列标题的工具提示与内容相同。

同样,如果我的带有GridView的ListView的第一列包含名称和标题:“名称”,那么标题的工具提示(您可以按下该按钮)应该有工具提示:“名称”

我有一个ListView的代码,其中GridView包含一些列:

 <ListView x:Name="ListViewResidents" ItemsSource="{Binding Path=Residents.View}">
            <ListView.View>
                <GridView>
                <GridViewColumn DisplayMemberBinding="{Binding Path=Name}" >
                        <GridViewColumnHeader x:Name="GridViewHeaderName"  Content="Name" Command="{Binding SortCommand}" CommandParameter="{Binding ElementName=GridViewHeaderName}"  ToolTip="{Binding ElementName=GridViewHeaderName, Path=Content}"/>
                </GridViewColumn>
                <GridViewColumn  DisplayMemberBinding="{Binding Path=FirstName}"  >
                        <GridViewColumnHeader  x:Name="GridViewHeaderFirstName" Content="Firstname" Command="{Binding SortCommand}" Tag="FirstName" CommandParameter="{Binding ElementName=GridViewHeaderFirstName}"  ToolTip="{Binding ElementName=GridViewHeaderName, Path=Content}"/>
                </GridViewColumn>
                  <GridViewColumn  DisplayMemberBinding="{Binding Path=BirthDate, StringFormat=d}"  >
                        <GridViewColumnHeader x:Name="GridViewHeaderBirthDate"  Content="Birth Date" Command="{Binding SortCommand}" CommandParameter="{Binding ElementName=GridViewHeaderBirthDate}" ToolTip="Some Text"  />
                </GridViewColumn>

我为第一列的标题工具提示创建的绑定不起作用,而BirthDate列的工具提示有效。我知道我可以将工具提示设置为姓名或出生日期,但我正试图找到一种不这样做的方法。

任何想法? 谢谢!!! Cosmin

---编辑---我试着把它标记为已回答,但我不会让我:我的名声很低: 我找到了解决方案。最终。我不知道为什么花了这么长时间才弄明白。

我必须将绑定更改为

  

的RelativeSource =自

。所以,它看起来像这样:

<GridViewColumn DisplayMemberBinding="{Binding Path=Name}" >
                        <GridViewColumnHeader ToolTip="{Binding RelativeSource={RelativeSource Self} , Path=Content}" Content="Name" Command="{Binding SortCommand}" CommandParameter="{Binding ElementName=GridViewHeaderName}"  />
                </GridViewColumn>

现在效果很好! :)

1 个答案:

答案 0 :(得分:0)

您可以在Ressource

中添加此代码
<Window.Resources>
            <DataTemplate x:Key="nameTemplate">
                <TextBlock Text="{Binding Name}"  Margin="-6,0">
                    <TextBlock.ToolTip>
                        <ToolTip>
                            <TextBlock Foreground="Green" Text="{Binding Name}"/>
                        </ToolTip>
                    </TextBlock.ToolTip>
                </TextBlock>
            </DataTemplate>
        </Window.Resources>

使用StaticResource

调用此模板
"{StaticResource nameTemplate}"