<Run>
में "टेक्स्ट" या "सामग्री" जैसे गुण नहीं होते हैं, जैसे कई टेक्स्ट XAML तत्व। मैं <Run>
तत्व का उपयोग करके सामग्री प्राप्त करने का प्रयास कर रहा था
MessageBox.Show(Convert.ToString(output.Inlines.ElementAt(0)));
इससे पहले, मैंने output
भरा था जो <Run>
तत्वों के साथ एक टेक्स्ट ब्लॉक है, और इसलिए मैंने ElementAt(0)
का उपयोग किया। हालाँकि, इस कोड को चलाकर मुझे जो आउटपुट मिलता है, वह <Run>
तत्व के मान के बजाय "System.Windows.Documents.Run" है। तो मैं उस तत्व का मूल्य कैसे प्राप्त करूं?
2 जवाब
यदि संग्रह में केवल रन है, तो आप यह कर सकते हैं:
MessageBox.Show(((Run)output.Inlines.ElementAt(0)).Text);
कारण आपको टेक्स्ट का आउटपुट नहीं मिला क्योंकि आपने इसे रन पर नहीं डाला था।
इसे डालने के बाद आप .Text संपत्ति प्राप्त कर सकते हैं:
एक्सएएमएल
<TextBlock Name="Text">
<Run Text="Hello"
FontSize="100"
Name="MyRun" />
</TextBlock>
कोड-बिहाइंड
MessageBox.Show(((Run)Text.Inlines.ElementAt(0)).Text);
यदि आप एकाधिक रनों के माध्यम से लूप करना चाहते हैं:
एक्सएएमएल
<TextBlock Name="Text">
<Run Text="Hello"
FontSize="100"
Name="MyRun" />
<Run Text="My"
FontSize="100"
Name="MyRun2" />
<Run Text="Friend"
FontSize="100"
Name="MyRun3" />
</TextBlock>
कोड-बिहाइंड
for(int x = 0; x < Text.Inlines.Count; x++)
{
MessageBox.Show(((Run)Text.Inlines.ElementAt(x)).Text);
}
आशा है कि इससे मदद मिली।
नए सवाल
c#
C # (उच्चारण "तेज देखें") Microsoft द्वारा विकसित एक उच्च स्तरीय, सांख्यिकीय रूप से टाइप किया हुआ, बहु-प्रतिमान प्रोग्रामिंग भाषा है। C # कोड आमतौर पर Microsoft के .NET परिवार के टूल और रन-टाइम को लक्षित करता है, जिसमें .NET फ्रेमवर्क, .NET कोर और Xamarin अन्य शामिल हैं। C # या C # के औपचारिक विनिर्देश में लिखे गए कोड के बारे में प्रश्नों के लिए इस टैग का उपयोग करें।