WPFアプリケーションでボタンがクリックされたら、textbox
をクリアするにはどうすればよいですか?ボタンのクリックメソッドでそれを行う必要がありますが、前述の目的のためにどのコードを使用する必要がありますか?
テキストボックスに名前を付けてから、TextBoxName.Text = String.Empty;
これを使用します。これが最も簡単な方法だと思います:
textBoxName.Clear();
例えば:
XAML:
<Button Content="ok" Click="Button_Click"/>
<TextBlock Name="textBoxName"/>
コード内:
private void Button_Click(object sender, RoutedEventArgs e)
{
textBoxName.Text = "";
}
以下のステートメントのAnyを使用して、ボタンのクリック時にテキストボックスのテキストをクリアできます。
textBoxName.Text = string.Empty;
_textBoxName.Clear();
textBoxName.Text = "";
_ボタンクリックハンドラーに配置する必要はありません。もしそうなら、テキストボックスに名前(x:Name
)をビューに追加し、コードビハインドで同じ名前の生成されたメンバーを使用してText
プロパティを設定します。
コードビハインドを回避する場合は、MVVMデザインパターンとデータバインディングを調査し、ビューモデルのプロパティをテキストボックスのText
プロパティにバインドします。
textBoxName.Text = string.Empty;
を使用する場合の落とし穴が1つあります。それは、TextBoxにテキストバインディングを使用している場合(つまり<TextBox Text="{Binding Path=Description}"></TextBox>
)です。この場合、空の文字列を設定すると、実際にバインドがオーバーライドされ、解除されます。
この動作を防ぐには、Clearメソッドを使用する必要があります。
textBoxName.Clear();
これにより、TextBoxはクリアされますが、バインディングはそのまま残ります。
私にとってtexBoxName.Clear()
;は、バインディングにテキストボックスがあり、他の方法を使用する場合、良い日がないため、最良の方法です。
フォームを実行し、テキストボックスにテキストを表示したい場合は、コードを入力してください:-
textBox1.text = String.Empty;
ここで、textBox1はテキストボックス名です。