2011-01-17 7 views
1

私はその中にテキストボックスを持っているユーザーコントロールを持っています。私はメインフォーム全体の情報をクリアするためにメインフォーム上のクリアボタンを使用しています。クリアボタンがクリックされると、私はユーザーコントロールのテキストボックスをクリアしたいと思います。私はこれを行う簡単な方法を発見した。私は、C#の後に "。"を付けてコントロールの名前を参照しようとしました。ただし、テキストボックスの名前は表示されません。どんな助けもありがとう!WPF C#でユーザーコントロールのTextBoxをクリアする方法?

答えて

1

WPFは、UserControlのコントロールをprivateと宣言しています。 xは、XAML名前空間xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"ある

<TextBox x:FieldModifier="Public" /> 

:あなたのTextBoxpublicを作るために、あなたはFieldModifierのようにそれを宣言します。ただし、TextBoxをクリアする推奨方法は、プロパティにバインドしてプロパティをクリアすることです。

+0

素晴らしい、まさに私が探していたもの、ありがとう! – Drew

1

外部クラスまたはコードからUserControl内のコントロールに直接アクセスしないでください。単純なメカニズムは、UserControlに関連するすべてのコントロールと情報をクリアするClear()メソッドをUserControlに追加することです。

+0

私はメソッドを作成しましたが、メインウィンドウのCSファイルからアクセスできる方法はありますか? – Drew

+0

Clear()メソッドは、ユーザーが作成したUserControlであると仮定して、理想的には、UserControl.xaml.csファイル(パブリックとして)に移動する必要があります。その後、TextBoxを簡単にクリアすることができます。 UserControlがDataBindingを使用している場合は、バインドされた要素がクリアされていることを確認する必要があります。 – Ryan

1

テキストボックスは、UserControlのDataContextにバインドできます。したがって、それをクリアする方法は、TextBoxのTextプロパティにバインドされているプロパティを空の文字列に設定している可能性があります。

関連する問題