2013-09-24 17 views
8

Nie rozumiem, jaki może być problem. Wiązanie ma właściwość Decimal. Oto XAML:Powiązanie WPF DataGridTextColumn nie akceptuje miejsc dziesiętnych

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

Dosłownie nie mogę wpisać "." postać. Dlaczego powstrzymałoby mnie to od wpisania tej postaci i jak mam to powiedzieć, aby mi to umożliwić.

Próbowałem robić format string tak:

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

Ale to nie rozwiązuje mojego problemu ponieważ wszystko robi jest dołączenie”.00" do końca o co wpisuję.

Wszystko, czego potrzebuję, to pozwolenie na wpisanie kropki.

UPDATE:

I był skierowany here. Usunąłem właściwość UpdateSourceTrigger, co umożliwiło mi wpisanie ".". Nie mam zainstalowanej wersji 4.5 Beta i moje ustawienia lokalizacji są poprawne. Teraz moje pytanie brzmi: jak uzyskać DataGridTextColumn, aby umożliwić mi wpisanie "." z zestawem właściwości UpdateSourceTrigger?

+2

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

Odpowiedz

14

UpdateSourceTrigger = PropertyChanged reevalutes tekst po każdym naciśnięciu klawisza. Liczba kończąca się kropką dziesiętną jest nieprawidłowa. Zmień UpdateSourceTrigger na LostFocus (taki sam jak podczas usuwania) lub spróbuj wpisać "." podczas gdy po nim masz inne cyfry.

Powiązane problemy