无法在TextBox

时间:2016-04-28 08:36:42

标签: c# wpf

我正在尝试在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.

1 个答案:

答案 0 :(得分:2)

试试这个

<TextBox Name="search" Text="Search a user..." GotFocus="search_GotFocus"/>

 private void  search_GotFocus(object sender, RoutedEventArgs e)
    {
        search.Text = "";

    }