WPF पाठ लपेटें WrapWithOverflow बनाम


170

" TextWrapping="Wrap"और TextWrapping="WrapWithOverflow"टेक्स्टबॉक्स के लिए उदा " के बीच "वैचारिक" अंतर क्या है ? वर्गपाठ के बारे में MSDN पृष्ठ में कुछ भी नहीं है ... धन्यवाद।

जवाबों:


187

MSDN

WrapWithOverflow लाइन-ब्रेकिंग तब होती है जब लाइन उपलब्ध ब्लॉक चौड़ाई से आगे निकल जाती है। हालाँकि, एक पंक्ति ब्लॉक चौड़ाई से आगे निकल सकती है यदि लाइन ब्रेकिंग एल्गोरिथ्म एक लाइन ब्रेक के अवसर को निर्धारित नहीं कर सकता है, जैसा कि एक निश्चित चौड़ाई वाले कंटेनर में बहुत लंबा शब्द है, जिसमें कोई स्क्रॉलिंग की अनुमति नहीं है।
NoWrap नहीं लाइन रैपिंग किया जाता है। यदि लाइन ब्लॉक ब्रेकिंग उपलब्ध ब्लॉक चौड़ाई से अधिक हो जाती है, तो भी
रैपिंग -ब्रेकिंग होती है, भले ही मानक लाइन ब्रेकिंग एल्गोरिदम किसी भी लाइन ब्रेक के अवसर को निर्धारित नहीं कर सकता है, जैसा कि एक निश्चित चौड़ाई वाले कंटेनर में बहुत लंबे शब्द के मामले में बिना किसी स्क्रॉलिंग की अनुमति के होता है।

उम्मीद है की यह मदद करेगा


11
मुझे पता है कि यह सवाल WPF पर निर्देशित था, लेकिन मुझे लगा कि यह ध्यान देने योग्य हो सकता है जो WrapWithOverflowसिल्वरलाइट में समर्थित नहीं है। केवल Wrapऔर NoWrapसिल्वरलाइट में समर्थित हैं। msdn.microsoft.com/en-us/library/…
blachniet

3
मैंने इसे पढ़ा और मैं अभी भी अंतर के बारे में निश्चित नहीं हूं। क्या मूल विचार है जो WrapWithOverFlowशब्दों को नहीं तोड़ेगा, लेकिन क्या Wrapकरेगा?
ब्रायन जे

6
@ ब्रायन जे - कुछ उदाहरणों के लिए मेरा उत्तर देखें।
केन

317

कुछ उदाहरण:

यह मूल, अलिखित संस्करण है:

कोई लपेटन नहीं


यह वह जगह है NoWrap

nowrap


यह वह जगह है Wrap। शब्द Removeऔर Sampleपर लिपटे दिया गया है veऔर leक्रमश: है, भले ही वहाँ कोई लाइन ब्रेक अवसर।

लपेटें


यह वह जगह है WrapWithOverflowveऔर leदिखाई नहीं देते हैं (वे उपलब्ध ब्लॉक चौड़ाई अतिप्रवाह) है, क्योंकि वहाँ कोई लाइन ब्रेक अवसर। Allदोनों ही मामलों में, लिपटे दी गई है क्योंकि spaceचरित्र एक लाइन ब्रेक अवसर है।

WrapWithOverflow


संपादित करें:

जैसा कि टिप्पणियों में सुझाया गया है, यहां कुछ उदाहरण दिए गए हैं कि Wrapरिक्त स्थान कैसे व्यवहार करता है। जब Widthहै 100, Wrapऔर WrapWithOverflowसमान हैं। Wrapव्यवहार करता है के बीच की जगह widerऔर exampleएक लाइन ब्रेक अवसर के रूप में है, तो exampleएक नई लाइन पर डाल दिया जाता है पूरे, निरंतर शब्द को बचाने के लिये।

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


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

8

दूसरे उत्तरों में जोड़ने के लिए एक चीज़, WrapWithOverflow आपको कटे हुए लंबे शब्दों पर टेक्स्ट ट्रिमिंग (दीर्घवृत्त) का उपयोग करने देता है:

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

<TextBlock TextWrapping="WrapWithOverflow" Width="120" TextTrimming="CharacterEllipsis">
    A really long word is antidisestablishmentarianism and we can use ellipsis trimming.
</TextBlock>
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.