2013-09-24 72 views
8

Tôi không hiểu vấn đề có thể là gì. Ràng buộc là một thuộc tính thập phân. Đây là XAML:WPF DataGridTextColumn ràng buộc không chấp nhận số thập phân

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

Tôi theo nghĩa đen không thể nhập '.' tính cách. Tại sao nó sẽ ngăn tôi nhập vào nhân vật đó và làm thế nào để tôi nói nó để tôi làm vậy.

tôi đã cố gắng làm một định dạng chuỗi như thế này:

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

Nhưng điều này không giải quyết vấn đề của tôi bởi vì tất cả nó làm là thêm" .00" vào cuối của bất cứ điều gì tôi gõ.

Tất cả những gì tôi cần là quyền nhập thời gian.

UPDATE:

tôi được đạo diễn here. Tôi đã loại bỏ thuộc tính UpdateSourceTrigger và điều này khiến tôi có thể gõ '.'. Tôi chưa cài đặt 4.5 Beta và cài đặt bản địa hóa của tôi là chính xác. Vì vậy, bây giờ câu hỏi của tôi là làm thế nào để tôi có được DataGridTextColumn để cho phép tôi gõ '.' với một bộ thuộc tính UpdateSourceTrigger?

+2

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

Trả lời

14

UpdateSourceTrigger = PropertyChanged reevalutes văn bản trên mọi phím tắt. Một số kết thúc bằng dấu thập phân không hợp lệ. Thay đổi UpdateSourceTrigger thành LostFocus (giống như xóa nó) hoặc thử gõ '.' trong khi bạn có các chữ số khác sau đó.