我正在尝试在TextBox
上设置一个占位符,我不知道微软为什么不提供此控件的默认属性,非常烦人应用解决方法。无论如何,假设我有这个控制权:
<TextBox x:Name="Search" />
我创建了一个单独的类来处理所有控件事件。这是其中的方法:
class ControlsHandle
{
MainWindow main = new MainWindow();
public void RemoveText(object sender, EventArgs e)
{
main.Search.Text = "";
}
public void AddText(object sender, EventArgs e)
{
if (string.IsNullOrWhiteSpace(main.Search.Text))
main.Search.Text = "Search a user...";
}
}
这是MainWindow()
:
public MainWindow()
{
InitializeComponent();
Search.GotFocus += GotFocus.EventHandle(ControlsHandle.RemoveText);
Search.LostFocus += LostFocus.EventHandle(ControlsHandle.AddText);
}
不幸的是我收到了这个错误:
UIElement.GotFocus事件不能仅在+ =或 - =
的左侧指定
就在这一行:+= GotFocus.
答案 0 :(得分:2)
试试这个
<TextBox Name="search" Text="Search a user..." GotFocus="search_GotFocus"/>
private void search_GotFocus(object sender, RoutedEventArgs e)
{
search.Text = "";
}