2011-12-03 11 views
6

क्या टेक्स्टब्लॉक में गतिशील रंग जोड़ना संभव है ..i.e। एक चरित्र में एक चरित्र और अगले रंग में अगला है।टेक्स्टब्लॉक में एकाधिक रंग

<TextBlock Text="{Binding no}" TextWrapping="Wrap" Margin="10,0,0,0" Style="{StaticResource PhoneTextSubtleStyle}" FontSize="40" Foreground="#A400C4FF" > 
    // Can we add something here to specify what colours for what chars 
</TextBlock> 

मूल रूप से मैं संख्या से गतिशील 4 वर्ण अनुक्रम इनपुट करता हूं। मैंने इसे एक सूची बॉक्स में इस टेक्स्टब्लॉक में बाध्य कर दिया है। क्या अलग-अलग रंगों में वर्ण होना संभव है।

यदि ऐसा है तो उदाहरण के लिए इन रंगों को गतिशील रूप से जोड़ना संभव है। यदि मैं एक बटन पर क्लिक करता हूं तो कुछ वर्ण रंग बदलते हैं?

धन्यवाद। किसी भी मदद की सराहना की है।

उत्तर

25

असल में, आप कर सकते हैं, जो काम में जब आप एक StringFormat कर रहे हैं आ सकता है डेटा बाउंड टेक्स्टब्लॉक या कई अन्य स्थानों पर।

यदि आप इसे आजमा देना चाहते हैं, तो यहां एक फॉर्म लेबल के लिए एक एसएल उदाहरण है जो आवश्यक फ़ील्ड के बगल में एक लाल तारांकन डालता है, लेकिन फिर उदाहरण में दिखाए गए अनुसार इसमें अधिक सामान भी जोड़ सकते हैं। सिल्वरलाइट, डब्ल्यूपीएफ, यूडब्लूपी, आदि के लिए काम करना चाहिए ...

<TextBlock> 
     <Run Text="*" Foreground="#FFE10101"/><Run Text="Required Line" /> 
     <Run Text="Red" Foreground="Red"/> 
     <Run Text="Blue" Foreground="Blue"/> 
     <Run Text="{Binding SomeString, StringFormat='Hell ya you can make \{0\} a different color!'}" Foreground="Orange"/> 
</TextBlock> 
0

TextBlock एकाधिक फ़ोरग्राउंड रंगों का समर्थन नहीं करता है।

आप एकाधिक टेक्स्टब्लॉक (प्रत्येक अक्षर के लिए एक) का उपयोग करके और उन्हें एक रैप पैनेल के अंदर रखकर इस व्यवहार को फिर से बना सकते हैं। फिर आप चाहें तो अलग-अलग अक्षर/अक्षरों का रंग बदल सकते हैं।
संभावित प्रदर्शन प्रभाव से सावधान रहें। व्यक्तिगत अक्षरों के चारों ओर मार्जिन को मानक व्यवहार को फिर से बनाने के लिए समायोजित करने की आवश्यकता होगी। विराम चिह्न के आसपास विशेष रूप से सावधान रहें।

+0

धन्यवाद यह काम करता है !! – cjds

0

मैं WP7 एसडीके के साथ आम के लिए विकास कर रहा हूं। आप < रन > का उपयोग कर सकते हैं। यह WP7 के पर एक छोटे से गाड़ी लगता है, आप रिक्ति सही पाने के लिए Run.Text संपत्ति पर एक रिक्त स्थान जोड़ने के लिए:

<TextBlock>Hello<Run Foreground="Bisque" Text=" Holla "></Run>and hello again!</TextBlock>; 
+0

मैं इस रन टैग में गतिशील रूप से टेक्स्ट कैसे सेट कर सकता हूं? – iamatsundere181

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