8 Stimmen

WPF-Bindung im Stil

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?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X