Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何创建文本框提示,简单到SO';s搜索框_C#_Wpf_Xaml - Fatal编程技术网

C# 如何创建文本框提示,简单到SO';s搜索框

C# 如何创建文本框提示,简单到SO';s搜索框,c#,wpf,xaml,C#,Wpf,Xaml,我正在为wpf应用程序及其文本框创建一个登录窗口,我要做的与Stack Overflow网站右上角的“Search Q&a”的行为相同 有一个包含文本“用户名”的文本框,当您聚焦时,文本仍将显示,但当您开始键入时,文本将消失并显示您的输入。然后,当您尝试将其擦除回文本框时,文本框中没有任何内容,它将恢复为文本“用户名”。您要查找的术语是一个文本框提示 试试这个: <Window.Resources> <VisualBrush x:Key="SearchHint" Til

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


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

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

试试这个:

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

结果:

@JulioMotol不客气,虽然这意味着你接受和/或投票,如果答案正确且有用:-)但问题是,它被放置在一个带有蓝色背景的网格上,现在,文本框也有一个蓝色背景,因为它是在alpha上。@JulioMotol是的,你必须根据自己的具体需要进行调整:-)