我希望能够使列标题的工具提示与内容相同。
同样,如果我的带有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>
现在效果很好! :)
答案 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}"