Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WPF表单-如何在文本框上添加文本占位符_C#_Wpf_Forms - Fatal编程技术网

C# WPF表单-如何在文本框上添加文本占位符

C# WPF表单-如何在文本框上添加文本占位符,c#,wpf,forms,C#,Wpf,Forms,总的来说,我对WPF和C都很陌生。 我试图在我的文本框上添加一个文本保持器,当你关注文本框时,我希望文本消失,如果我移动到其他位置(aka失去焦点),文本为空,我希望文本框添加文本,我希望文本框返回 但我在GotFocus.EventHandle(RemoveText)上出错;和LostFocus.EventHandle(AddText);关于单词“GotFocus”和“Lostfocus”(关于下面的代码) 我错过了什么 我尝试了以下代码: ExcelPath.Text=“请将Excel拖到此

总的来说,我对WPF和C都很陌生。 我试图在我的文本框上添加一个文本保持器,当你关注文本框时,我希望文本消失,如果我移动到其他位置(aka失去焦点),文本为空,我希望文本框添加文本,我希望文本框返回

但我在GotFocus.EventHandle(RemoveText)上出错;和LostFocus.EventHandle(AddText);关于单词“GotFocus”和“Lostfocus”(关于下面的代码)

我错过了什么

我尝试了以下代码:

ExcelPath.Text=“请将Excel拖到此处”;
ExcelPath.GotFocus+=GotFocus.EventHandle(RemoveText);
ExcelPath.LostFocus+=LostFocus.EventHandle(AddText);
public void RemoveText(对象发送方,事件参数e)
{
如果(ExcelPath.Text==“请将Excel拖到此处”)
{
ExcelPath.Text=“”;
}
}
public void AddText(对象发送者、事件参数)
{
if(string.IsNullOrWhiteSpace(ExcelPath.Text))
ExcelPath.Text=“请将Excel拖到这里”;
}

您可以使用水印文本框来实现这一点。你可以在网上找到很多。例如:

或者这也很有帮助:


使用此帮助链接,您不必亲自尝试所有操作。

这是连接事件处理程序的语法:

ExcelPath.Text = "Please Drag Excel into here";
ExcelPath.GotFocus += RemoveText;
ExcelPath.LostFocus += AddText;

摆脱
GotFocus.EventHandle
不管它是什么。

我实际上试过了,但它不起作用:(.我也试过GotFocus.EventHandle,因为当我搜索答案时,很多人用GotFocus.EventHandle给出了答案,所以我试过了…但它不起作用。什么是“不起作用”呢是什么意思?发生了什么事?你好,今天我来了一个更新电源,昨天我的头撞了很多次,它真的起作用了,我只是做了一些愚蠢的事情,因为我想我累了。它起作用了,非常感谢你的帮助!它很有用,但它主要是WPF中的XAML,这对我来说是个问题,我只是希望它在表单上具有代码智能,如果表单有XAML我不知道它的实际位置(正如我说的,我是新来的,我只在使用主窗口时看到XAML,但我根本不使用它)