web-dev-qa-db-ja.com

WPFでボタンがクリックされたらテキストボックスをクリアするにはどうすればよいですか?

WPFアプリケーションでボタンがクリックされたら、textboxをクリアするにはどうすればよいですか?ボタンのクリックメソッドでそれを行う必要がありますが、前述の目的のためにどのコードを使用する必要がありますか?

15
Anjola

テキストボックスに名前を付けてから、TextBoxName.Text = String.Empty;

36
ChrisO

これを使用します。これが最も簡単な方法だと思います:

 textBoxName.Clear();
9
user2646464

例えば:

XAML:

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

コード内:

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

以下のステートメントのAnyを使用して、ボタンのクリック時にテキストボックスのテキストをクリアできます。

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

ボタンクリックハンドラーに配置する必要はありません。もしそうなら、テキストボックスに名前(x:Name)をビューに追加し、コードビハインドで同じ名前の生成されたメンバーを使用してTextプロパティを設定します。

コードビハインドを回避する場合は、MVVMデザインパターンとデータバインディングを調査し、ビューモデルのプロパティをテキストボックスのTextプロパティにバインドします。

2
devdigital

textBoxName.Text = string.Empty;を使用する場合の落とし穴が1つあります。それは、TextBoxにテキストバインディングを使用している場合(つまり<TextBox Text="{Binding Path=Description}"></TextBox>)です。この場合、空の文字列を設定すると、実際にバインドがオーバーライドされ、解除されます。

この動作を防ぐには、Clearメソッドを使用する必要があります。

textBoxName.Clear();

これにより、TextBoxはクリアされますが、バインディングはそのまま残ります。

1
Tomáš Oplatek

私にとってtexBoxName.Clear();は、バインディングにテキストボックスがあり、他の方法を使用する場合、良い日がないため、最良の方法です。

0
Nio74

フォームを実行し、テキストボックスにテキストを表示したい場合は、コードを入力してください:-

textBox1.text = String.Empty;

ここで、textBox1はテキストボックス名です。

0
Er. Harry Singh