2009-04-23 2 views
1

У меня есть TextBox и TextBlock внутри границы. Свойство TextBlock Text привязано к значению TextBox. Когда я ввожу текст в TextBox, Border меняет свою ширину в соответствии с новым размером TextBlock.Условное предупреждение изменения текстового поля

Существует обработчик событий для TextBox.TextChanged, в котором я проверяю, превышает ли размер границы определенный номер. Если это так, я хочу, чтобы TextBox не внес изменения, вызвавшего обработчик.

Если символ всегда был добавлен к концу, я мог бы просто подстроить текст, но могут произойти все другие виды изменений, например вставка большого количества текста в TextBox.

Итак, каким образом можно предотвратить переход от обработчика? Я помню, в некоторых свойствах WindowsForms e.Cancel, которые когда set будут игнорировать действие, но не видели, что в WPF и TextChangedEventArgs, очевидно, его нет.

Благодаря

+0

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

+0

, если это все еще проблема, добавьте обработчик события TextBox.TextChanged. Остальное ответьте на свой вопрос. –

ответ

0

Вы можете слушать PreviewTextInput события и установить e.Handled к истинным, чтобы предотвратить изменение от вступления в силу.

Смежные вопросы