在学习WPF(我是新手)的过程中,我创建了一个简单的窗口,并放置了一个用于输入用户名的文本框。我最初在此文本框中放置了一些文本值(例如“用户名”)。我希望这个文本在鼠标左键单击时立即消失。以下是我的XAML和C#代码:
<TextBox Name="usernameTextBox" Background="Transparent" PreviewMouseLeftButtonDown="usernameTextBox_PreviewMouseLeftButtonDown" HorizontalAlignment="Left" Height="23" Margin="10,103,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="166" Text="Username" />
C# 代码
private void usernameTextBox_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
if (usernameTextBox.Text.ToLower() == "username")
usernameTextBox.Text = "";
}
然而,这并没有奏效。经过一番搜索,我发现了这个SO问题。 而PreviewMouseLeftButtonDown事件按预期工作。
那么我的问题是,这两个事件有什么区别,我如何知道何时使用其中一个,何时使用另一个?
谢谢!