views:

38

answers:

1

I was expecting the title of the screen tip to show "X" as well, but it is empty:

<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>

I suspect my binding expression is wrong, but I can't figure it out...

+2  A: 

Unfortunately, FindAncestor doesn't work on ToolTips because they aren't part of their target element's VisualTree. What you can do is set the DataContext of the ToolTip to be its PlacementTarget (i.e. Fluent:Button in your example) so that other Binding statements for the tooltip works with the PlacementTarget as the binding source.

In your case, try this code:

<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>

More information on this "technique" can be found here: http://karlshifflett.wordpress.com/2007/12/29/wpf-sample-series-data-binding-in-tooltip/

karmicpuppet