2009-04-23 17 views
1

私はTextBoxとBorder内にTextBlockを持っています。 TextBlockのTextプロパティはTextBoxの値にバインドされています。 TextBoxに入力すると、BorderはTextBlockの新しいサイズに従って幅を変更します。テキストボックス変更の条件付き防止

境界線のサイズが特定の数値を超えているかどうかをテストするTextBox.TextChangedのイベントハンドラがあります。そうであれば、TextBoxがハンドラの原因となった変更を行わないようにします。

文字が常に最後に追加された場合、テキストを部分文字列にすることはできますが、TextBoxに大量のテキストを貼り付けるなど、他のすべての変更が行われる可能性があります。

したがって、ハンドラからの変更を防ぐ方法はありますか?私はいくつかのWindowsForms e.Cancelプロパティでは、アクションを無視し、WPFでそれを見ていないと明らかにTextChangedEventArgsは1つを持っていないことを覚えています。

おかげ

+0

[Dupe](http://stackoverflow.com/questions/335129/cancelling-a-wpf-textbox-changed-event)。 –

+0

これがまだ問題の場合は、TextBox.TextChangedイベントハンドラを追加してください。それ以外の場合は、自分の質問に答えてください。 –

答えて

0

あなたはPreviewTextInputイベントに耳を傾け、効果を取ってからの変化を防止するためにtrueにe.Handledを設定することができます。