我正在设计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}"