如何在文本框获得焦点时保留 PlaceholderText WP 8.1 通用应用程序

How to keep PlaceholderText when Textbox get focus WP 8.1 Universal app

我想在获得光标(聚焦)时将 PlaceholderText 保留在文本框中,就像在 MSN Weather 应用程序图像中一样。 我怎样才能做到这一点?

示例代码如下:

private void txtname_GotFocus(object sender, RoutedEventArgs e)
{
    txtname.Text = "ABCD";
    //txtname.Background = new SolidColorBrush(Colors.White);
}

TextChanged 事件:

private void txtname_TextChanged(object sender, TextChangedEventArgs e)
{
    //txtname.Background = new SolidColorBrush(Colors.White);
}

您可以将文本框放在文本块上并使文本框的背景透明。

然后使用转换器将文本块的可见性绑定到文本框的文本。当 Text.Length 为 0 时,转换器 return 可见,否则隐藏

<Grid>
    <TextBlock Text="Watermark" 
               Visibility=
                   "{Binding ElementName=Input, 
                             Path=Text, 
                             Converter={StaticResource TextToVisibility}}"/>
    <TextBox x:Name="Input"/>
</Grid>