WPF绑定风格

时间:2010-03-30 14:53:39

标签: wpf binding styles

我正在尝试在TextBox中将一个简单的Background与一些水印文本组合在一起。我的代码基于Philip Patrick's blog的示例。

我正在尝试调整它,以便从ToolTip的{​​{1}}属性中检索背景中显示的文字。

目前这有效:

TextBox

这会在<TextBox ToolTip="Type a name here..."> <TextBox.Background> <VisualBrush TileMode="None" Opacity="0.4" Stretch="None" AlignmentX="Left"> <VisualBrush.Visual> <TextBlock FontStyle="Italic" Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type TextBox}}, Path=ToolTip}"/> </VisualBrush.Visual> </VisualBrush> </TextBox.Background> </TextBox> 的{​​{1}}中显示ToolTip文字。

但是,如果我将部分代码移到资源样式,则绑定不再从Background获取TextBox信息:

ToolTip

这里有任何提示吗?

2 个答案:

答案 0 :(得分:1)

您无法以您尝试的方式访问TextBox,您的TextBlock不在TextBox的可视层次结构中。所以它无法找到TextBox。您可以尝试使用Watermarked TextBox。 Check this表示水印文本框示例。

答案 1 :(得分:1)

我遇到了一个相同的问题,并最终通过绑定到ToolTip的PlacementTarget来解决它。答案详见link text

杰里米