2013-02-21 58 views
5

में दशमलव विभाजक बदलने चलो कहते हैं कि मैं एक नंबर 1,234,567.89 करते हैं। संख्या एक WPF टेक्स्टब्लॉक में प्रदर्शित होती है।डिफ़ॉल्ट हजार और एक बाध्यकारी

1.234.567,89 

आप देख सकते हैं, हजार और दशमलव विभाजक अपरिवर्तनीय संस्कृति विनिर्देश से औंधा: मैं इतना है कि संख्या की तरह प्रदर्शित किया जाएगा लागू करने के लिए कोशिश कर रहा हूँ StringFormatText संपत्ति के लिए विशेषता।

मैं StringFormat के लिए कई संयोजनों की स्थापना की कोशिश की है, लेकिन सफलता नहीं मिली। यह नवीनतम है जिसके साथ मैं आया:

Text="{Binding SomeBinding, StringFormat={}{0:#'.'##0','00}}" 

लेकिन आउटपुट सही नहीं है। इसके अलावा, N2 या बदलती संस्कृति का उपयोग करना एक विकल्प नहीं है। यदि संभव हो तो मैं कनवर्टर्स से बचना चाहूंगा।

तो, वहाँ XAML के माध्यम से डिफ़ॉल्ट विभाजक बदलने के लिए एक तरीका है?

उत्तर

8

आप परिवर्तन संस्कृति की जरूरत नहीं है। बस निर्दिष्ट संस्कृति के साथ String.Format का उपयोग (डी-डे नहीं करना चाहिए):

string output = String.Format(new CultureInfo("de-DE"), "{0:N}", yourDoubleValue); 

आउटपुट: 9.164,32

आप XAML में यह करने के लिए चाहते हैं, आप की कोशिश कर सकते:

Text="{Binding SomeBinding, StringFormat={}{0:N}, ConverterCulture=de-DE}" 
+0

मुझे लगता है कि वह XAML में सब सामान करने के लिए कोशिश कर रहा है, और मैं नहीं दिख रहा है कि यह कैसे, जगह में कुछ सी # brining कम से कम कस्टम कनवर्टर के रूप में बिना किया जा सकता। – Woodman

+0

संयोजन 'स्ट्रिंगफॉर्मैट = एन 2, कनवर्टरकल्चर = डी' बिना किसी अतिरिक्त कोड के वांछित आउटपुट बनाएगा। टिप्पणी के लिए – Clemens

+0

@Clemens धन्यवाद। मैं कोड का परीक्षण नहीं कर सकता, यह मेरा सुझाव था –

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

  • कोई संबंधित समस्या नहीं^_^