2

列ヘッダーのツールチップをコンテンツと同じにしたい。

のように、GridView を使用した ListView の最初の列に Names と Header: "Name" が含まれている場合、ヘッダーのツールヒント (押すことができるボタン) には tooltip: "Name" が必要です。

いくつかの列を持つ GridView を持つ ListView の次のコードがあります。

 <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 列のツールチップは機能します。ツールチップを名前または生年月日に設定できることはわかっていますが、そうしない方法を見つけようとしています。

何か案は?ありがとうございました!!!コスミン

--- 編集 --- 回答済みとしてマークしようとしましたが、許可しません: 評判が低すぎます: 解決策を見つけました。最終的。なぜそれを理解するのにそんなに時間がかかったのか分かりません。

バインディングを次のように変更する必要がありました

RelativeSource=自己

. したがって、次のようになります。

<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 に答える