Ich versuche, ein einfaches System zu erstellen. TextBox
mit einem Wasserzeichentext in der Background
. Mein Code basiert auf dem Beispiel aus Philip Patrick's Blog .
Ich versuche, es so zu ändern, dass der im Hintergrund angezeigte Text aus der Datei ToolTip
Eigenschaft auf der TextBox
.
Derzeit funktioniert dies:
<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>
Das zeigt die ToolTip
Text in der Background
de la TextBox
.
Aber wenn ich einen Teil des Codes in einen Ressourcenstil verschiebe, erhält die Bindung nicht mehr die ToolTip
Informationen aus dem TextBox
:
<Grid>
<Grid.Resources>
<Style x:Key="WatermarkBackground" TargetType="{x:Type TextBox}">
<Setter Property="Background">
<Setter.Value>
<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>
</Setter.Value>
</Setter>
</Style>
</Grid.Resources>
<TextBox ToolTip="Type your name here..." Style="{StaticResource WatermarkBackground}"/>
Gibt es hier Tipps?