XAML में यूनिकोड वर्ण कैसे डालें?


104

मैं यह करने की कोशिश कर रहा हूँ:

<TextBlock Text="{Binding Path=Text, 
                          Converter={StaticResource stringFormatConverter}, 
                          ConverterParameter='&\u2014{0}'}" />

एक प्राप्त करने के लिए - पाठ के सामने आने के लिए। यह काम नहीं करता है। मुझे यहां क्या करना चाहिए?

जवाबों:


196

चूंकि XAML एक XML फ़ाइल स्वरूप है, जिससे आप XML वर्ण भागने का प्रयास कर सकते हैं। इसलिए &\u2014लिखने की &#x2014;बजाय आप लिख सकते थे ।


धन्यवाद। मैंने कोशिश की & mdash; और \ u2014, लेकिन ऐसा नहीं है। इसने काम कर दिया।
एलेक्स बारानोस्की

4
आप करीब थे, हेक्सा में & # x20ac; और दशमलव यूनिकोड में & # 8364; आपको मिलेगा और यूरो :)
user347594

हां, लेकिन क्या होगा यदि आप UTF-32 चरित्र चाहते हैं, जैसे सिम्बोला फ़ॉन्ट में संगीत नोट्स जो 0x10000 से ऊपर हैं?
रूड वैन गाल

संकेत के लिए धन्यवाद। हालाँकि यह केवल मेरे लिए काम करता है जब मैंने अपने यूनिकोड चरित्र को सीधे Text = "..." के अंदर रखा। अपने ViewModel के साथ बाइंडिंग का उपयोग करते समय मुझे "\ u2014" स्ट्रिंग स्ट्रिंग का उपयोग करना पड़ा।
flocbit

9

Xaml में मैंने इसे इस तरह किया:

    <Button Grid.Column="1" Grid.RowSpan="2" Name="start" Margin="5" Click="start_Click">
        <TextBlock Name="test" FontFamily="pack://application:,,,/Y_Yoga;Component/Resources/#FontAwesome">&#xF04B;</TextBlock>
    </Button>

मददगार बनने की उम्मीद!


3

Microsoft प्रलेखन से :

Microsoft Visual Studio में बनाई गई मार्कअप फाइलें स्वचालित रूप से यूनिकोड UTF-8 फ़ाइल स्वरूप में सहेज ली जाती हैं, जिसका अर्थ है कि अधिकांश विशेष वर्ण, जैसे कि उच्चारण चिह्न, सही तरीके से एन्कोडेड हैं। हालांकि, आमतौर पर उपयोग किए जाने वाले विशेष पात्रों का एक सेट होता है जिसे अलग तरह से संभाला जाता है। ये विशेष वर्ण एन्कोडिंग के लिए वर्ल्ड वाइड वेब कंसोर्टियम (W3C) XML मानक का पालन करते हैं।

इसका मतलब यह है कि आप सभी की देखभाल के लिए ज़ल्गो कर सकते हैं

यहां छवि विवरण दर्ज करें

प्रासंगिक है कि कोड के बिट:

<Label Grid.Column="0" Grid.Row="3" FontWeight="ExtraBlack">STAGE:M&#x363;&#x36d;&#x363;&#x33e;  V&#x363;&#x365;&#x36d;&#x35b;&#x364;&#x36e;&#x365;&#x368;&#x365;&#x367;&#x33e;</Label>

3

मैं किसी अन्य कारण से इस पृष्ठ पर आया था, लेकिन इसमें सबसे आसान और स्पष्ट समाधान शामिल नहीं है।

मैं यह करता हूं।

सभी यूनिकोड मानों के साथ एक स्थिर वर्ग बनाए रखें।

 public static class Icons
{
    public const string IconName = "\u2014";
}

और फिर जहां जरूरत हो, बस उसे बांध दें।

<TextBlock Text="{x:Static resources:Icons.IconName}" FontFamily="..."/>

इससे आपको रखरखाव में भी मदद मिलती है, सभी आइकन प्रबंधन करने के लिए एक जगह पर होंगे।


1

फ़ाइल को UTF-8 के रूप में सहेजें। विज़ुअल स्टूडियो में, आप "फ़ाइल" → "उन्नत सहेजें विकल्प" पर जाकर ऐसा कर सकते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.