在WPF中,如何在单击按钮后清除文本框?

23

在 WPF 应用程序中,当单击按钮时,如何清除 textbox? 我知道我必须在按钮的 click 方法中实现它,但是为了实现上述目的,我应该使用什么代码?


4
textBoxName.Text = String.Empty;将文本框的文本清空。 - Florian Gl
8个回答

45

给你的文本框起一个名称,然后使用 TextBoxName.Text = String.Empty;


2
如果您想避免在WPF上使用DataBindings,那么这是一个好的解决方案。 - Sonhja

13

我使用这个。我认为这是最简单的方法:

 textBoxName.Clear();

6
例如:
XAML:
<Button Content="ok" Click="Button_Click"/>
<TextBlock Name="textBoxName"/>

在代码中:

 private void Button_Click(object sender, RoutedEventArgs e)
{
textBoxName.Text = "";
}

6
您可以使用以下任何语句在按钮单击时清除文本框中的文本:
  1. textBoxName.Text = string.Empty;
  2. textBoxName.Clear();
  3. textBoxName.Text = "";
请注意,这三个语句的作用是相同的。

6
使用 textBoxName.Text = string.Empty; 存在一种可能的陷阱,那就是如果你正在为文本框使用 Text 绑定(即 <TextBox Text="{Binding Path=Description}"></TextBox>),那么设置一个空字符串实际上将覆盖并破坏你的绑定。为了防止这种行为,你必须使用 Clear 方法:
textBoxName.Clear();

这样文本框将被清空,但绑定仍然保持不变。


1
如果您正确使用绑定,将viewmodel属性设置为空字符串可能更有意义。 - 15ee8f99-57ff-4f92-890c-b56153

3
你不必将它放在按钮点击处理程序中。如果你是这么做的,那么你需要在视图中为文本框指定一个名称(x:Name),然后在代码后台中使用相同名称的生成成员来设置Text属性。
如果你想避免代码后台,那么你应该了解MVVM设计模式和数据绑定,并将视图模型上的属性绑定到文本框的Text属性。

有趣 - 等我完成“本地WPF”教程后,会进行调查! - T4NK3R

1

对我来说,texBoxName.Clear()是最好的方法,因为我有绑定的文本框,如果使用其他方法,我的日子就不好过了。


0

当你运行表单并且想要在文本框中显示清晰的文字,可以使用以下代码:

textBox1.text = String.Empty;

其中textBox1是您的文本框名称。


1
針對已接受的答案,有哪些附加價值? - C.Champagne

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接