我正在尝试在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
这里有任何提示吗?
答案 0 :(得分:1)
您无法以您尝试的方式访问TextBox,您的TextBlock不在TextBox的可视层次结构中。所以它无法找到TextBox。您可以尝试使用Watermarked TextBox。 Check this表示水印文本框示例。
答案 1 :(得分:1)
我遇到了一个相同的问题,并最终通过绑定到ToolTip的PlacementTarget来解决它。答案详见link text
杰里米