1

私は独自のカスタム TextBox クラスを持っています (それを呼び出しますMyCustomTextBox)。部分的には、バーコード リーダーからのスキャンを処理するのに役立ちます。

これが機能するために必要なことの一部は、TextProperty にバインドされた値が変更されたときにキャプチャする方法です。

注:「TextChanged」イベントや、キーの押下に関連するあらゆる種類のイベントは探していません(そのキーの押下がソースを更新する場合を除く)。

次に例を示します。

MyCustomTextBox基になる値 (CustomerId) が変更された場合にのみ発生するイベント (in) が必要です。

注: 実際の TextProperty は、キーが押されるたびに変更されます。ただし、ソースは後で更新されます (UpdateSourceTrigger の設定によって異なります)。TextProperty は、私がやろうとしていることに対して頻繁に変更されます。したがって、それに添付しても役に立ちません。

TextProperty の下の値にアタッチする方法はありますか?

これは可能ですか?

4

1 に答える 1

1

はい、2 つのイベントを接続する必要があります。

        <TextBox Name="Fred" Text="{Binding Foo, NotifyOnTargetUpdated=True, NotifyOnSourceUpdated=True, UpdateSourceTrigger=LostFocus}" TargetUpdated="Fred_TargetUpdated" SourceUpdated="Fred_SourceUpdated">

TargetUpdated イベントは、テキスト ボックス以外の何かが基になるプロパティを変更したとき (および最初にバインドしたとき) に発生します。VMのいくつかのメソッドが言う

Sourceupdated イベントは、フォーカスが失われた場合など、テキストボックスがバインディングを更新したときに発生します

于 2012-07-26T23:14:32.100 に答える