2

我期待屏幕提示的标题也显示“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>

我怀疑我的绑定表达式是错误的,但我无法弄清楚......

4

1 回答 1

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/

于 2010-09-13T20:47:44.313 回答