我正在设计TreeViewItem。该项目有一个内容演示者,我希望显示一个工具提示:

<ContentPresenter x:Name="PART_Header"
             Cursor="Hand"
             Grid.Column="1"
             ContentSource="Header"
             HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}">
   <ContentPresenter.ToolTip>
       <ToolTip
                 Placement="RelativePoint"
                 VerticalOffset="-2"
                 HasDropShadow="False"
                 BorderBrush="#767676"
                 Background="#FFF"
                 Padding="0,1,0,1"
                 VerticalAlignment="Center"
                 Content="{Binding RelativeSource={RelativeSource FindAncestor,
                 AncestorType={x:Type ContentPresenter}}, Path=Content}"/>
   </ContentPresenter.ToolTip>
</ContentPresenter>


这实际上是设置项目的控制模板的较大设置器的一部分。但是,我似乎无法将工具提示的内容绑定到内容提供者的内容。它一直显示为空白(一个很小的黑框)。我是绑定和WPF的新手,所以请原谅。

最佳答案

工具提示和其他弹出窗口位于主视觉树的外部,因此不能使用RelativeSource到达父级。尝试改用ToolTip的PlacementTarget属性获取其父ContentPresenter:

Content="{Binding RelativeSource={RelativeSource Self}, Path=PlacementTarget.Content}"

10-07 13:12