Ich habe versucht, ein Textfeld mit einem Hinweis zu bauen, die Anzeige ist, während es leer ist. Ich habe Probleme, den Hinweistext innerhalb eines Stils zu setzen.WPF Binden an übergeordneter Eigenschaft aus verschachteltem Elemente Stil mit
Um genau zu sein, diese arbeitet (das heißt, es richtig bindet):
<TextBox Tag="hint text">
<TextBox.Background>
<VisualBrush Stretch="None">
<VisualBrush.Visual>
<TextBlock Text="{Binding Tag, RelativeSource={RelativeSource AncestorType=TextBox}}" FontStyle="Italic" Foreground="LightGray" />
</VisualBrush.Visual>
</VisualBrush>
</TextBox.Background>
</TextBox>
aber, wenn ich es auf den Stil zu bewegen, ist es nicht:
<Style TargetType="TextBox" x:Key="stlHintbox">
<Style.Triggers>
<DataTrigger Binding="{Binding Text, RelativeSource={RelativeSource Mode=Self}}" Value="">
<Setter Property="Background">
<Setter.Value>
<VisualBrush Stretch="None">
<VisualBrush.Visual>
<TextBlock Tag="inner" Text="{Binding Tag, RelativeSource={RelativeSource AncestorType=TextBox}}"
FontStyle="Italic" Foreground="LightGray" />
</VisualBrush.Visual>
</VisualBrush>
</Setter.Value>
</Setter>
</DataTrigger>
</Style.Triggers>
</Style>
<TextBox Tag="hint text" Style="{StaticResource stlHintbox}" />
Also, was ist der Haken? Wie kann ich innerhalb eines Styles an die Vorgängereigenschaft binden?
Ok, das wirklich Sinn macht ... ich durch Bücher übergeben zu schnell scheint es :) – veljkoz