如何创建文本框提示,与SO的搜索框类似

时间:2016-11-22 15:26:32

标签: c# wpf xaml

我正在为wpf应用程序及其文本框创建一个登录窗口,我想要做的是与Stack Overflow网站右上角的“搜索Q& A”行为相同。

有一个包含文本“用户名”的文本框,当您对焦时,文本仍将显示,但是当您开始输入时,文本将消失,您的输入将会显示。然后,当您尝试将其删除并且文本框中没有任何内容时,它将恢复为文本“用户名”。

1 个答案:

答案 0 :(得分:0)

您要查找的术语是文本框提示

试试这个:

<Window.Resources>
    <VisualBrush x:Key="SearchHint" TileMode="None" Stretch="None" AlignmentX="Left">
        <VisualBrush.Transform>
            <TranslateTransform X="5" Y="0" />
        </VisualBrush.Transform>
        <VisualBrush.Visual>
            <Grid>
                <TextBlock FontStyle="Italic" Foreground="Black" Opacity="0.3" Text="Search …"/>
            </Grid>
        </VisualBrush.Visual>
    </VisualBrush>
</Window.Resources>

<StackPanel>
    <TextBox VerticalContentAlignment="Center"  Height="30">
        <TextBox.Style>
            <Style TargetType="TextBox">
                <Style.Triggers>
                    <Trigger Property="Text" Value="">
                        <Setter Property="Background" Value="{StaticResource SearchHint}"/>
                    </Trigger>
                </Style.Triggers>
            </Style>
        </TextBox.Style>
    </TextBox>
</StackPanel>

结果:

enter image description here