2013-09-24 6 views
8

मुझे समझ में नहीं आता कि समस्या क्या हो सकती है। बाध्यकारी एक दशमलव संपत्ति पर है। यहां एक्सएएमएल है:WPF DataGridTextColumn बाध्यकारी दशमलव को स्वीकार नहीं करता

<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 बीटा इंस्टॉल नहीं है और मेरी स्थानीयकरण सेटिंग्स सही हैं। तो अब मेरा सवाल यह है कि मैं डेटाग्रिडटेक्स्ट कॉलम कैसे प्राप्त करूं ताकि मुझे '।' टाइप करने की अनुमति मिल सके। एक UpdateSourceTrigger संपत्ति सेट के साथ?

+2

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

उत्तर

14

UpdateSourceTrigger = PropertyChanged प्रत्येक कीस्ट्रोक पर पाठ को फिर से बदल देता है। दशमलव बिंदु में समाप्त होने वाली संख्या अमान्य है। UpdateSourceTrigger को LostFocus में बदलें (इसे हटाने के समान) या '।' टाइप करने का प्रयास करें। जबकि आपके पास इसके बाद अन्य अंक हैं।

संबंधित मुद्दे