我希望将占位符文本保留在文本框中,当它获得光标(聚焦)时,就像在MSN Weather应用程序图像中一样。 我怎样才能做到这一点?
答案 0 :(得分:1)
以下是示例代码:
private void txtname_GotFocus(object sender, RoutedEventArgs e)
{
txtname.Text = "ABCD";
//txtname.Background = new SolidColorBrush(Colors.White);
}
答案 1 :(得分:1)
TextChanged事件:
private void txtname_TextChanged(object sender, TextChangedEventArgs e)
{
//txtname.Background = new SolidColorBrush(Colors.White);
}
答案 2 :(得分:1)
您可以将文本框放在文本块上,并使文本框的背景透明。
然后使用转换器将Textblock的可见性绑定到TextBox的Text。当Text.Length为0时,让转换器返回Visible,否则隐藏
<Grid>
<TextBlock Text="Watermark"
Visibility=
"{Binding ElementName=Input,
Path=Text,
Converter={StaticResource TextToVisibility}}"/>
<TextBox x:Name="Input"/>
</Grid>