2010-08-31 7 views
10

चांदी की रोशनी में, यदि कोई टेक्स्टबॉक्स स्वीकार करता है, तो सभी न्यूलाइन \ r हैं, भले ही पर्यावरण। NEWLINE \ r \ n है। ऐसा क्यों है? (डब्ल्यूपीएफ में \ n \ n टेक्स्टबॉक्स के लिए नई लाइन है)सिल्वरलाइट टेक्स्टबॉक्स पर्यावरण के बजाय एक नई लाइन के लिए r क्यों उपयोग करता है। NEWLINE ( r n)?

उत्तर

1

मुझे लगता है कि अन्य ऑपरेटिंग सिस्टम के साथ संगतता के कारण।

सिल्वरलाइट लिनक्स और मैक ऑपरेटिंग सिस्टम पर उपलब्ध है। इन ओएस के दोनों (और अधिकतर) यूनिक्स आधारित हैं और यूनिक्स का उपयोग नई लाइनों के लिए 'आर' है। (जहां तक ​​मुझे '\ r \ n' का उपयोग करके केवल एमएस पता है)

फ्रेमवर्क स्रोत कोड देखते समय एमएस डेवलपर्स ज्यादातर पर्यावरण का उपयोग करने के बजाय '\ r \ n' टाइप करने के लिए उपयोग किए जाते हैं।

+0

भी http://connect.microsoft.com/VisualStudio/feedback/details/419751/silverlight-textboxes-environment-newline – Koen

+0

देखें गलत। यूनिक्स और मैकोज़ एक्स दोनों का उपयोग \ n। \ R का उपयोग करने वाली एकमात्र प्रणाली मैकोज़ v.9 और नीचे थी। –

2

मैं ertan के उत्तर से सहमत हूं। मैं एक परिदृश्य में भाग गया है जिसमें यह असुविधाजनक है।

हमारे पास एक ऐसा एप्लिकेशन है जो किसी उपयोगकर्ता से सिल्वरलाइट टेक्स्टबॉक्स के माध्यम से स्ट्रिंग डेटा एकत्र करता है और उस डेटा को SQL सर्वर डेटाबेस में संग्रहीत करता है, जो एक बहुत आम है। एक समस्या उत्पन्न होती है जब अनुप्रयोग के अन्य घटक उस स्ट्रिंग डेटा का उपयोग करते हैं जो लाइन ब्रेक की अपेक्षा "\r\n" द्वारा प्रदर्शित किया जाता है। इस तरह के एक घटक का एक उदाहरण टेलीरिक की रिपोर्टिंग समाधान है: Line break issue in multi line text boxes देखें।

मैं यह मान कनवर्टर का उपयोग करके इस समस्या से उबरे:

public class LineBreakCorrectionConverter : IValueConverter 
{ 
    private const string CR = "\r"; 
    private const string CRLF = "\r\n"; 

    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) 
    { 
     string text = value as string; 

     if (text == null) 
      return null; 

     return text.Replace(CRLF, CR); 
    } 

    public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) 
    { 
     string text = value as string; 

     if (text == null) 
      return null; 

     return text.Replace(CR, CRLF); 
    } 
} 
संबंधित मुद्दे