2009-05-30 2 views
3

コンパクトなフレームワークのために開発することを学んでいます。TextBoxがフォーカスを失うのではなく、変更したときにデータバインドを更新します。

私はいくつかのプロパティ(PersonクラスのFIRSTNAME &姓)にテキストボックスのカップルを結合させ、ちょうど完全な名前のshowmessageを行うメニューアイテムを持っている、そしてそれはプロパティのみ更新されますことを除いて、かなりうまく機能してきましたテキストボックスに集中しなくなるとつまり、ファーストネームを変更してショーネームmenuitemを押すと、ファーストネームの古い値が得られます。

データバインドを強制的に更新する方法はありますか、またはテキストボックスの1つで文字が変更されるたびに対応するプロパティが更新されるようにする方法はありますか?

答えて

6

あなたがこれを行う場合、あなたは、データオブジェクトに不正なデータを入れてリスクが、ここではこれを行う方法です:デフォルトの代わりにDataSourceUpdateModeのparamためOnPropertyChangedをしてthis overloadを使用し、あなたのMyTextBox.DataBinding.Add()方法で

をOnValidate

これは本当に簡単なことですが、検証されていないデータに「バインド」しているので、長期的には問題を引き起こす可能性が高いと言います。

+0

に保存をして、ボタン上のコードでは、フォームのValidateChildren()を呼び出します。私が考えることができる唯一の方法は、テキストボックスからフォーカスを離して(そしておそらくもう一度)、よりクリーンな方法があると推測しています。 – Alister

5

ただ、これが実際にどのように私はちょうどテキストボックスが私のオブジェクトと同期していることを確認する場合について、(おかげで)動作しない

関連する問題