我期待屏幕提示的标题也显示“X”,但它是空的:
<Fluent:Button x:Name="rbNewProject"
Header="X">
<Fluent:Button.ToolTip>
<Fluent:ScreenTip Title="{Binding Header, RelativeSource={RelativeSource FindAncestor, AncestorType=Fluent:Button}}">
</Fluent:ScreenTip>
</Fluent:Button.ToolTip>
</Fluent:Button>
我怀疑我的绑定表达是错误的,但我无法弄明白......
答案 0 :(得分:2)
不幸的是,FindAncestor不适用于ToolTips,因为它们不属于目标元素的VisualTree。您可以做的是将ToolTip的DataContext设置为其PlacementTarget(例如,Fluent:Button),以便工具提示的其他Binding语句与PlacementTarget一起用作绑定源。
在您的情况下,请尝试以下代码:
<Fluent:Button x:Name="rbNewProject"
Header="X">
<Fluent:Button.ToolTip>
<Fluent:ScreenTip DataContext="{Binding PlacementTarget, RelativeSource={RelativeSource Self}}" Title="{Binding Header}">
</Fluent:ScreenTip>
</Fluent:Button.ToolTip>
</Fluent:Button>
有关此“技术”的更多信息,请访问:http://karlshifflett.wordpress.com/2007/12/29/wpf-sample-series-data-binding-in-tooltip/