DataGridTextColumn не позволяет вводить «двойное» значение - PullRequest
2 голосов
/ 21 марта 2012

У меня есть свойство double? MyDouble { get .. set ... }. Я связал его в DataGridTextColumn:

<DataGridTextColumn Binding="{Binding MyDouble}" />

Работает нормально, если я не добавлю UpdateSourceTrigger = PropertyChanged.

<DataGridTextColumn Binding="{Binding MyDouble, 
                              UpdateSourceTrigger=PropertyChanged}" />

В этом случае я не могу войти "." и добавить «двойное» значение. Как я могу избежать этого поведения?

Ответы [ 3 ]

1 голос
/ 21 марта 2012

Удалите .NET 4.5 Beta.Я отправил эту ошибку в Служба поддержки Microsoft .

0 голосов
/ 10 марта 2017

Для тех, кто не нашел другого решения, я также нашел это:

Screenshot

Тип данных позволяет вам выбрать, какой это тип данных, и есть вероятность, что вашустановлено на int32.

0 голосов
/ 21 марта 2012

Я думаю, это связано с вашими настройками локализации Windows. Например, если вы хотите преобразовать «1,65» в локализованных окнах США в двойное значение, возникнет исключение. Но когда вы захотите преобразовать ту же строку в чешской локализации, она продолжится.

Действительно ли это работает без UpdateSourceTrigger, установленного в PropertyChanged? Я думаю, что это просто позволит вам ввести "." но привязка не установит значение в базовый контекст.

...