WPF- लेबल में न्यूलाइन?


83

मैं निम्नलिखित के रूप में WPF में एक लेबल के पाठ में एक नई पंक्ति कैसे जोड़ सकता हूं?

<Label>Lorem 
  ipsum</Label>

जवाबों:


116
<Label><TextBlock>Lorem<LineBreak/>ipsum</TextBlock></Label>

आपको TextBlock का उपयोग करने की आवश्यकता है क्योंकि TextBlock बच्चों को इनलाइन ऑब्जेक्ट्स के संग्रह के रूप में स्वीकार करता है। तो आप TextBlock तत्व को तीन इनलाइन आइटम दे रहे हैं: Run Text = "Lorem", LineBreak, और Run Text = "ipsum"।

आप निम्न कार्य नहीं कर सकते:

<Label>Lorem<LineBreak/>ipsum</Label>`

क्योंकि एक लेबल एक सामग्री बाल तत्व को स्वीकार करता है।

इसके अलावा, निश्चित नहीं कि आपका उपयोग मामला क्या है, लेकिन ध्यान दें कि मैंने आपके लेबल तत्व के अंदर एक TextBlock रखा है। क्या यह दोहराव है? वास्तव में नहीं, आपकी जरूरत पर निर्भर करता है। यहां दो तत्वों के बीच अंतर पर एक अच्छा लेख है: लेबल और टेक्स्टब्लॉक के बीच अंतर


1
जब मैंने उपरोक्त उत्तर की कोशिश की, तो मुझे अपनी सामग्री के बीच में एक टैग होने के लिए एक त्रुटि मिली। इसके बजाय, मैंने इसका इस्तेमाल किया: <TextBlock> <Run>First</Run> <LineBreak/> <Run>Second</Run> </TextBlock>
पैथोजन

3
यह महान काम करता है लेकिन स्थानीयकरण का उपयोग करते समय उपयोगी नहीं है। उस मामले उपयोग मेंLorem&#x0a;Ipsum
टिजिन

103

WPF में आप मान का उपयोग कर सकते हैं "&#10;"या"&#xA;"

उदाहरण के लिए:

<Label Content="Lorem&#10;ipsum" />

("10" न्यूलाइन के लिए ASCII नंबर है)

या

<Label Content="Lorem&#xA;ipsum" />

("ए" हेक्स में न्यूलाइन के लिए एएससीआईआई नंबर है)

सीमा दिखाने के लिए सीमा के चारों ओर लेबल के साथ उदाहरण


3
इस बात को स्वीकार किया जाना चाहिए। यह उपयोग करने के लिए अधिक सुरुचिपूर्ण और सरल है।
टायलर C

10

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

उदाहरण:

दृश्य में

<Label Content="{Binding SomeStringObject.ParameterName}" />

ViewModel में:

SomeStringObject.ParameterName = "First line" + Environment.NewLine + "Second line";

2

एक टूल जैसे कि एक बटन के रूप में कई लाइनों के साथ टूलटिप को जोड़ने का एक उदाहरण। टूलटिप चौड़ाई सीमित है इसलिए यह एक वाक्य बहुत चौड़ा होने पर लपेटेगा।

<!-- Button would need some properties to make it clickable.-->
<Button>
   <Button.ToolTip>
      <TextBlock Text="Line 1&#x0a;Line 2" MaxWidth="300" TextWrapping="Wrap"/>
    </Button.ToolTip>
</Button>

VS2019 + .NET 4.6.1 + WPF पर परीक्षण किया गया।


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