Ich habe dieses Textfeld:Verwenden von benutzerdefinierten Eigenschaften in WPF Arten
<TextBox/>
Ich möchte ein Wasserzeichen, um es hinzuzufügen zu sagen, Enter your message here...
Seit dem nicht aus der Box unterstützt, dies erfolgreich tut der Trick:
<Style TargetType="TextBox" xmlns:sys="clr-namespace:System;assembly=mscorlib">
<Style.Resources>
<VisualBrush x:Key="CueBannerBrush" AlignmentX="Left" AlignmentY="Center" Stretch="None">
<VisualBrush.Visual>
<Label Content="Enter your message here..." Foreground="LightGray" Padding="10 0 0 0" />
</VisualBrush.Visual>
</VisualBrush>
</Style.Resources>
<Style.Triggers>
<Trigger Property="Text" Value="{x:Static sys:String.Empty}">
<Setter Property="Background" Value="{StaticResource CueBannerBrush}" />
</Trigger>
<Trigger Property="Text" Value="{x:Null}">
<Setter Property="Background" Value="{StaticResource CueBannerBrush}" />
</Trigger>
<Trigger Property="IsKeyboardFocused" Value="True">
<Setter Property="Background" Value="White" />
</Trigger>
</Style.Triggers>
</Style>
Aber ist es eine Möglichkeit, TextBox
mit einer XAML
Eigenschaft für WatermarkText
zu verlängern, wie folgt und habe es meinen Stil wählen und benutze es oder gibt es einen anderen Weg (C#, etc.)?
Wenn Sie Ihren aktuellen Ansatz verwenden möchten, und nur eine Eigenschaft haben, in der Zeichenfolge mit. Ersetzen Sie einfach "Geben Sie hier Ihre Nachricht ein ..." mit "{TemplateBinding Tag}" und benutzen Sie die 'Tag'-Eigenschaft, so dass es'
@ChrisW. Das sollte gut funktionieren, aber ich würde mein XAML-Element nicht mehr erweitern können, sobald ich mein 'Tag' aufgebraucht habe. Es muss einen besseren Weg geben ... – Alexandru
Die Leute haben es eine Reihe von verschiedenen Möglichkeiten, die Sie mit einer schnellen Google-Suche finden können. Persönlich letztes Mal musste ich eine benutzerdefinierte Vorlage mit einem hinzugefügten TextBlock erstellen, der an Tag gebunden ist, das bei Focus die Sichtbarkeit reduzierte, und wenn der Texteigenschaftswert = {x: Null} false (mit Datentrigger) war, wurde auch die Sichtbarkeit reduziert. Ich habe nicht lange gebraucht, an was ich mich erinnere. Wie 10 Minuten. –