2013-09-24 4 views
8

Я не понимаю, в чем проблема. Связывание имеет свойство Decimal. Вот XAML:WPF DataGridTextColumn binding не принимает десятичные знаки

<DataGridTextColumn Header="Price" Binding="{Binding Price, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged} Width="*"/> 

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

Я пытался делать формат строки, как это:

<DataGridTextColumn Header="Price" Binding="{Binding Price, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, StringFormat={}{0:n2}} Width="*"/> 

Но это не решает мою проблему, потому что все это делает добавление».00" до конца все, что я типа.

Все, что мне нужно, это разрешение на ввод периода.

ОБНОВЛЕНИЕ:

я был направлен here. Я удалил свойство UpdateSourceTrigger, и это позволило мне ввести «.». У меня нет установленной версии 4.5 Beta, и мои настройки локализации верны. Итак, теперь мой вопрос заключается в том, как получить DataGridTextColumn, чтобы я мог ввести «.». с набором свойств UpdateSourceTrigger?

+2

http://stackoverflow.com/questions/9805539/datagridtextcolumn-doesnt-allow-to-enter-double-value –

ответ

14

UpdateSourceTrigger = PropertyChanged повторяет текст при каждом нажатии клавиши. Число, которое заканчивается в десятичной точке, недопустимо. Измените UpdateSourceTrigger на LostFocus (аналогично удалению) или попробуйте ввести '.' в то время как у вас есть другие цифры после него.

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