我希望列标题的工具提示与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}"