How can I add a hint text to WPF textbox? How can I add a hint text to WPF textbox? wpf wpf

How can I add a hint text to WPF textbox?


You can accomplish this much more easily with a VisualBrush and some triggers in a Style:

<TextBox>    <TextBox.Style>        <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="Search" Foreground="LightGray" />                    </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>    </TextBox.Style></TextBox>

To increase the re-usability of this Style, you can also create a set of attached properties to control the actual cue banner text, color, orientation etc.


This is my simple solution, adapted from Microsoft (https://code.msdn.microsoft.com/windowsapps/How-to-add-a-hint-text-to-ed66a3c6)

    <Grid Background="White" HorizontalAlignment="Right" VerticalAlignment="Top"  >        <!-- overlay with hint text -->        <TextBlock Margin="5,2" MinWidth="50" Text="Suche..."                    Foreground="LightSteelBlue" Visibility="{Binding ElementName=txtSearchBox, Path=Text.IsEmpty, Converter={StaticResource MyBoolToVisibilityConverter}}" IsHitTestVisible="False"/>        <!-- enter term here -->        <TextBox MinWidth="50" Name="txtSearchBox" Background="Transparent" />    </Grid>


what about using materialDesign HintAssist ? i'm using this which also you can add floating hint too :

<TextBox Width="150" Height="40" Text="hello" materialDesign:HintAssist.Hint="address"  materialDesign:HintAssist.IsFloating="True"></TextBox>

i installed Material Design with Nuget Package there is installation guide in documentation link