web-dev-qa-db-de.com

Wie lösche ich ein Textfeld, wenn in WPF eine Schaltfläche angeklickt wird?

Wie kann ich eine textbox löschen, sobald eine Schaltfläche in der WPF-Anwendung angeklickt wird?

13
Anjola

Geben Sie Ihrem Textfeld einen Namen und verwenden Sie dann TextBoxName.Text = String.Empty;

34
ChrisO

Ich benutze das. Ich denke, das ist der einfachste Weg, es zu tun:

 textBoxName.Clear();
9
user2646464

Zum Beispiel:

XAML:

<Button Content="ok" Click="Button_Click"/>
<TextBlock Name="textBoxName"/>

In Code:

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

Sie können Beliebig der folgenden Anweisung verwenden, um den Text des Textfelds beim Klicken auf die Schaltfläche zu löschen:

  1. textBoxName.Text = string.Empty;
  2. textBoxName.Clear();
  3. textBoxName.Text = "";
3
Farhan Aslam

Sie müssen es nicht in den Button-Click-Hander einfügen. In diesem Fall würden Sie Ihrem Textfeld in Ihrer Ansicht einen Namen (x:Name) zuweisen und dann das generierte Element mit demselben Namen im Code dahinter verwenden, um die Text-Eigenschaft festzulegen.

Wenn Sie Code hinterher vermeiden, untersuchen Sie das MVVM-Entwurfsmuster und die Datenbindung und binden eine Eigenschaft in Ihrem Ansichtsmodell an die Text-Eigenschaft des Textfelds.

2
devdigital

Es gibt eine mögliche Falle bei der Verwendung von textBoxName.Text = string.Empty; und das ist, wenn Sie die Textbindung für Ihre TextBox verwenden (d. h. <TextBox Text="{Binding Path=Description}"></TextBox>). In diesem Fall überschreibt das Setzen einer leeren Zeichenfolge die Bindung und bricht sie ab.

Um dieses Verhalten zu verhindern, müssen Sie die Clear-Methode verwenden:

textBoxName.Clear();

Auf diese Weise wird das Textfeld gelöscht, die Bindung bleibt jedoch erhalten.

1
Tomáš Oplatek

Für mich ist texBoxName.Clear(); die beste Methode, weil ich Textfelder in der Bindung habe und wenn ich andere Methoden verwende, habe ich keinen guten Tag

0
Nio74

Wenn Sie Ihr Formular ausführen und Text in Textfeld anzeigen möchten, ist der Code leer:

textBox1.text = String.Empty;

Dabei steht textBox1 für Ihren Textfeldnamen.

0
Er. Harry Singh