2

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

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

我有一个 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 列的工具提示有效。我知道我可以将工具提示设置为姓名或出生日期,但我正试图找到一种不这样做的方法。

有任何想法吗?谢谢!!!考斯敏

--- 编辑 --- 我尝试将其标记为已回答,但我不会让我这样做:我的声誉很低:我找到了解决方案。最终。我不知道为什么我花了这么长时间才弄清楚。

我不得不将绑定更改为

相对来源=自己

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

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

现在效果很好!:)

4

1 回答 1

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}"
于 2012-09-26T09:48:07.817 回答