ListView-GridView-页眉工具提示



我希望列标题的工具提示与Content相同。

如中所示,如果带有GridView的ListView的第一列包含Names和Header:"Name",则页眉的工具提示(您可以按下的按钮)应该具有工具提示:"Name">

我有一个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>

现在效果很好!:)

您可以在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}"

最新更新