728x90
반응형
WPF & C# - TextBoxWaterMark ( 워터마크 / 배경글자 / 배경글씨 / 텍스트박스 / BackgroundText / 백그라운드텍스트 ) |
<Grid>
<StackPanel>
<Grid Margin="5" Background="White">
<TextBlock x:Name="tbk" Text="WaterMark" Foreground="Gray"></TextBlock>
<TextBox x:Name="tbx" Background="{x:Null}" BorderThickness="0,0,0,1" TextChanged="tbx_TextChanged" LostFocus="tbx_LostFocus" GotFocus="tbx_GotFocus"/>
</Grid>
<Button x:Name="btn" Click="btn_Click">Text 삭제</Button>
</StackPanel>
</Grid>
private void tbx_TextChanged(object sender, TextChangedEventArgs e)
{
if (tbx.Text == "")
tbk.Visibility = Visibility.Visible;
else
tbk.Visibility = Visibility.Hidden;
}
private void tbx_GotFocus(object sender, RoutedEventArgs e)
{
tbk.Visibility = Visibility.Hidden;
}
private void tbx_LostFocus(object sender, RoutedEventArgs e)
{
if (tbx.Text == "")
tbk.Visibility = Visibility.Visible;
}
private void btn_Click(object sender, RoutedEventArgs e)
{
tbx.Text = "";
}
01. Grid 에 TextBlock 와 TextBox 를 함께 넣는다.
02. TextBox 의 배경을 없애고, Grid에 배경을 넣는다.
03. TextChanged 이벤트를 통해 TextBox 의 Text 유무에 따라 TextBlock 의 Visibility 값을 변경한다.
04. 포커스로 이벤트로도 설정해놓는다.
아래 예제는 워터마크 이미지를 넣는 방법을 알려준다.
728x90
반응형