wpf 如何创建一个文本框提示,类似于SO的搜索框

1tuwyuhd  于 2023-03-19  发布在  其他
关注(0)|答案(1)|浏览(156)

我正在为一个wpf应用程序和它的文本框创建一个登录窗口,我想做的事情与Stack Overflow网站右上角的“搜索问答”的行为相同。
有一个包含文本“用户名”的文本框,当您聚焦时,文本仍然会显示,但当您开始键入时,文本会消失,您的输入会显示。然后当您尝试将其擦除,文本框中没有任何内容时,它会恢复为文本“用户名”。

vatpfxk5

vatpfxk51#

您要查找的术语是文本框提示
试试这个:

<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>

结果:

相关问题