Silverlight Stringformat: искаженная строка возвращает пустую строку вместо исключения - PullRequest
2 голосов
/ 12 сентября 2011

Вот мой фрагмент кода:

<TextBox Text="{Binding Path=Amount, Mode=TwoWay, StringFormat=\{0:N\}}" />

Если пользователь вводит буквы или большое число и т. Д., Формат строки умирает молча.Как я могу создать исключение вместо этого?

Спасибо

Ответы [ 2 ]

3 голосов
/ 12 сентября 2011

Привязки поглощают исключения, возникающие, когда ввод текста не может быть преобразован в тип данных, требуемый свойством исходного объекта.Однако вы можете указать ValidatesOnException в привязке.Это вызовет стандартную красную границу сообщения о проблеме конверсии.Кстати, это не связано со свойством формата строки, которое имеет отношение только к отображению текущего значения, оно не воспроизводится при вводе данных пользователем.

    <TextBox Text="{Binding Path=Amount, Mode=TwoWay, StringFormat=\{0:N\}, ValidatesOnExceptions=True}" HorizontalAlignment="Left" Width="200"/>

Примечание. Я ограничил ширину и выровнял пооставил.Одна из проблем всплывающего окна проверки по умолчанию заключается в том, что оно всегда отображается справа, что является небольшой проблемой, когда правая граница текстового поля совпадает с правым краем правого края элемента управления silverlight.

2 голосов
/ 12 сентября 2011

Задумывались ли вы над написанием поведения фильтра, позволяющего точно контролировать, что входит в текстовое поле?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...